2016-01-29 2 views
1

У меня возникла проблема с 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); 

ответ

0

Причины этого было то IP адресом я Введенный в консоль разработчика Facebook для моего WebAPI на Azure сменившего.

Изменение их на правильные исправляло проблему.

Смежные вопросы