Facebook C# SDK을 사용하여 방금 구입 한 제품을 내 웹 사이트에 공유하는 기능을 추가하려고합니다. 이렇게하려면 Facebook으로 사용자를 인증하고 필요한 권한을 얻어야합니다.Facebook 인증 리디렉션 루프
내가 인증했는지 확인하는 코드가 있는데, 그렇지 않은 경우 페이스 북의 oAuth 페이지로 리디렉션하여 인증합니다.
그러나 페이스 북에서 페이지를 반환 할 때 리디렉션 루프로 전환 할 때 :
var auth = new FacebookWebAuthorizer();
bool authorized = auth.FacebookWebRequest.IsAuthorized(new string[] { "publish_stream" });
if (authorized)
{
var client = new FacebookClient(auth.FacebookWebRequest.AccessToken);
Dictionary<string, object> args = new Dictionary<string, object>();
args["message"] = "This is a test.";
args["name"] = "";
args["link"] = "http://www.example.com/";
args["description"] = "Test link.";
client.Post("/me/feed", args);
}
else
{
var facebookClient = new FacebookOAuthClient();
var parameters = new Dictionary<string, object> {
{ "redirect_uri", "http://www.example.com/" },
{ "client_id", "xxxx" },
{ "scope", "publish_stream" }
};
Response.Redirect(facebookClient.GetLoginUrl(parameters).ToString(), true);
}
내 Web.config의는 다음과 같습니다
<configuration>
<configSections>
<section name="facebookSettings" type="Facebook.FacebookConfigurationSection" />
</configSections>
<system.web>
<customErrors mode="Off" />
<compilation debug="true" targetFramework="4.0" />
</system.web>
<system.webServer>
<modules runAllManagedModulesForAllRequests="true" />
<handlers>
<add name="facebookredirect.axd" verb="*" path="facebookredirect.axd" type="Facebook.Web.FacebookAppRedirectHttpHandler, Facebook.Web" />
</handlers>
</system.webServer>
<facebookSettings appId="xxxx" appSecret="xxxx" />
</configuration>
그것은 내 사이트가 아닌 보이는 것처럼 이미 인증을 받았기 때문에 Facebook 로그인으로 리디렉션됩니다. 페이스 북은 내가 인증을 받았음을 알고 있으므로, 나를 다시 리디렉션하여 루프를 유발합니다.
제공된 링크는 해결책을 제공하지 않고 문제의 설명 만 제공합니까? –