У меня возникла проблема с Facebook OAuth на моем производственном сервере. Она работает без каких-либо вопроса на местном уровне, но когда я опубликовать его в Azure она падает в этом методе в контроллере счета на моем WebAPIFacebook OAuth acces_denied error in WebApi GetExternalLogin action
public async Task<IHttpActionResult> GetExternalLogin(string provider, string error = null)
Параметр ошибки не равно нулю, и имеет значение «ACCESS_DENIED», который прекратив процесс. Мне очень сложно отладить эту проблему.
Моя консоль разработчика Facebook настроена правильно с правильными доменами и URL-адресами перенаправления OAuth, потому что, когда я их изменяю, я застрял на facebook с ошибкой, указав, что URL-адрес перенаправления неверен.
Я прочесываю интернет для ответов на это с очень маленькой везением.
Любая помощь была бы принята с благодарностью. Даже если я могу получить более описательную ошибку, которая «access_denied»
Заранее спасибо. Пожалуйста, дайте мне знать, если вы хотите увидеть больше кода. Вот мой WebApiStartup класс
facebookAuthOptions = new FacebookAuthenticationOptions()
{
AppId = WebConfig.OAuthFacebookClientId,
AppSecret = WebConfig.OAuthFacebookClientSecret,
//CallbackPath = new PathString("/api/account/signin-facebook/"),
Provider = new FacebookAuthProvider()
};
facebookAuthOptions.Scope.Add("email");
facebookAuthOptions.Scope.Add("public_profile");
app.UseFacebookAuthentication(facebookAuthOptions);
OAuthOptions = new OAuthAuthorizationServerOptions
{
TokenEndpointPath = new PathString("/Token"),
Provider = new ApplicationOAuthProvider(PublicClientId, userManagerFactory),
AuthorizeEndpointPath = new PathString("/api/Account/ExternalLogin"),
AccessTokenExpireTimeSpan = TimeSpan.FromMinutes(tokenExpiry),
AllowInsecureHttp = true,
AccessTokenProvider = new AuthenticationTokenProvider
{
OnCreate = CreateAccessToken,
OnReceive = ReceiveAccessToken
},
AuthorizationCodeProvider = new AuthenticationTokenProvider
{
OnCreate = CreateAuthenticationCode,
OnReceive = ReceiveAuthenticationCode
}
};
app.UseOAuthAuthorizationServer(OAuthOptions);
OAuthBearerOptions = new OAuthBearerAuthenticationOptions();
app.UseOAuthBearerAuthentication(OAuthBearerOptions);