Azure移动应用Facebook身份验证停止工作

时间:2017-03-28 08:18:59

标签: ios azure facebook-graph-api azure-web-sites

我使用Azure Mobile Apps.NET SDK作为我的iOS应用的后端。通过Facebook完成身份验证。昨天突然出现(在后端或应用程序上没有代码更改)与Facebook的身份验证失败。 iOS客户端应用程序内的登录通过

完成
self.client?.login(withProvider:"facebook", token: ["access_token" : FBSDKAccessToken.current().tokenString] ){ (user, error) in }

通过调用此函数,我在客户端上获得以下结果。

Error Domain=com.Microsoft.MicrosoftAzureMobile.ErrorDomain Code=-1302 "You do not have permission to view this directory or page."

通过检查Azure Mobile Apps的流日志,我发现后端从调用Facebook Graph API返回Unauthorized 401.71

Streaming Log:

Microsoft.Azure.AppService.Authentication Verbose: 0 : Received request: POST https://XXXXXXXXXX.azurewebsites.net/.auth/login/facebook
'w3wp.exe' (CLR v4.0.30319: DefaultDomain): Loaded 'D:\Windows\Microsoft.Net\assembly\GAC_MSIL\SMDiagnostics\v4.0_4.0.0.0__b77a5c561934e089\SMDiagnostics.dll'. Skipped loading symbols.
'w3wp.exe' (CLR v4.0.30319: DefaultDomain): Loaded 'D:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.ServiceModel.Internals\v4.0_4.0.0.0__31bf3856ad364e35\System.ServiceModel.Internals.dll'. Skipped loading symbols. 
Microsoft.Azure.AppService.Authentication Verbose: 0 : Calling into external HTTP endpoint GET https://graph.facebook.com/oauth/access_token.
Microsoft.Azure.AppService.Authentication Information: 0 : Sending response: 401.71 Unauthorized

我已经尝试在Azure中克隆移动应用并创建新的Facebook应用,但没有成功。

3 个答案:

答案 0 :(得分:2)

对于受此问题影响的其他用户 - 我将引用MSDN Thread

的官方回答

TL; DR 已应用修补程序 - 需要重新启动应用程序

  

**更新3/28/2017 **我们正在为全球受影响的应用推出快速修补程序。修补程序机制将需要   你重新启动你的应用程序后端。您可以使用Azure执行此操作   门户,Azure管理CLI或App Service Mobile Companion   适用于iOS和Android的应用。重启后,请验证您的身份   Facebook登录再次正常运作。

     

West US:应用了修补程序。请重新启动您的应用。其他地区:   未决

答案 1 :(得分:1)

我有同样的问题,它在昨天停止工作而没有任何代码更改。

我试图从其他客户端调用azure azure facebook身份验证。 我得到的结果与应用程序401相同,没有其他信息。 https://appname.azurewebsites.net/.auth/login/facebook { " access_token":"令牌获取后使用facebook"获取, }

我试过从其他客户端调用facebook api并且它有效。 https://graph.facebook.com/oauth/access_token?client_id=APP_ID&client_secret=SECRET_APP_ID&grant_type=fb_exchange_token&fb_exchange_token=ACCESS_TOKEN

我的猜测是他们在天蓝色的网络应用程序中改变了一些东西,打破了facebook的身份验证。

如果您找到任何解决方案,请与我们联系。

答案 2 :(得分:0)