저는 페이스 북 API에 새로운 것이고 일부 작업 후에 문제가 발생했습니다. 먼저 페이스 북 API와의 통신에 the facebook SDK을 사용하고 있습니다.Facebook 인증 응답 매개 변수가 잘못되었습니다 -> 무한 요청 루프
내 앱 설정에서 OAuth 대화 상자의 응답이 URI 조각 대신 쿼리 문자열이어야한다고 선택했습니다. 내 서버에서
나는 다음과 같은 코드를 가지고 :
void Page_Load()
{
string url = Request.Url.AbsoluteUri;
Facebook.FacebookOAuthResult result = null;
if (!Facebook.FacebookOAuthResult.TryParse(url, out result))
{
string redirectUrl = PivotServer.Helpers.GetFacebookOAuthUrl();
Response.Redirect(redirectUrl);
}
}
을 그리고 내 도우미 메서드는 이잖아 :
public static string GetFacebookOAuthUrl()
{
FacebookOAuthClient oauth = new FacebookOAuthClient
{
AppId = "149637255147166",
AppSecret = "xxx",
RedirectUri = new Uri("http://mydomain.com/")
};
var param = new Dictionary<string, object>
{
{ "response_type", "token" },
{ "display", "popup" }
};
Uri url = oauth.GetLoginUrl(param);
return url.AbsoluteUri;
}
나는 웹 서버 (IIS)에 내 페이지를 달렸다. 처음 페이스 북에 로그인하라는 메시지가 뜨면 OK입니다. 페이스 북에서 Auth Token Parameter가 URI 조각이기 때문에 인피니티 루프를 만났습니다. 나는 원했다 (위 그림 참조). 응답은 URI는
http://mydomain.com/#access_token=AAACIGCNwLp4BAMccSoliF5EMGJm0NPldv5GpmBPIm9z7rRuSkiia7BM0uhEn1V88c8uOlWOfGc3C8sFC9tq90Ma0OwIm0tWLNU5BBAZDZD&expires_in=0&base_domain=mydomain.com
대신
http://mydomain.com/?code=AAACIGCNwLp4BAMccSoliF5EMGJm0NPldv5GpmBPIm9z7rRuSkiia7BM0uhEn1V88c8uOlWOfGc3C8sFC9tq90Ma0OwIm0tWLNU5BBAZDZD&expires_in=0&base_domain=mydomain.com
의 OAuth API에서 버그가, 또는 내가 여기 아주 무슨 일을하고있는 중이 야인가요처럼 보인다?