저는 Salesforce와 대화 할 앱을 작성 중입니다. Salesforce는 OAuth를 통해 API에 대한 액세스를 제공합니다. 나는 here으로 묘사 된 OAuth 인증 프로세스를 시도하고있다. 현재 내 앱을 승인하려고 시도하고 있습니다. 다음 코드가 있습니다.C#에서 OAuth로 앱 인증
// Ask Salesforce for a request token
var request = (HttpWebRequest)(WebRequest.Create(String.Format("https://login.salesforce.com/services/oauth2/authorize?response_type=code&client_id={0}&redirect_uri=http://localhost:5004/home/AuthCallback", CONSUMER_KEY)));
request.Method = "POST";
request.ContentType = "application/json";
// Retrieve the request token from the response
var response = (HttpWebResponse)(request.GetResponse());
using (StreamReader reader = new StreamReader(response.GetResponseStream()))
{
string accessCodeData = accessCodeReader.ReadToEnd();
}
이 코드는 사용자가 내 ASP.NET MVC보기에서 단추를 클릭 할 때 트리거됩니다. 이 코드가 실행되면 Salesforce에 호출됩니다. 나는 바이올린에 대한 요청을 봅니다. 요청 헤더는 다음과 같습니다.
POST /services/oauth2/authorize?response_type=code&client_id={consumerKey}&redirect_uri=http://localhost:5004/home/AuthCallback HTTP/1.1
실제로 소비자 키를 전달하는 중입니다. 예제에서 제거하고 있습니다. 그럼에도 불구하고이 요청은 몸 크기가 0 인 302를 반환합니다. 나는 오해가있을 수 있습니다. 그러나, 나는 요청 토큰을 기대하고 있었다. 그런 다음 요청 토큰을 사용하여 액세스 토큰을 얻으려고했습니다.
내가 뭘 잘못하고 있니?