我使用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应用,但没有成功。
答案 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)