2017-04-21 57 views
-1

在上个月旧Facebook API被弃用后,我们的Azure应用程序无法通过Facebook进行身份验证。 Azure团队向我保证,这项工作所需的所有更新都是在我们的服务器上完成的,但仍然没有运气。我已经与Azure支持团队以及他们的移动应用程序开发人员一起度过了无数个小时。最后,我们提出的唯一的事情是在我们的设置中(在我们的应用程序仪表板中)不正确,或者Facebook由于某种原因拒绝请求。从Azure登录因BadRequest而失败

我有日志文件,提琴手痕迹和其他有关通话和其他失败的回应的信息。

我们有超过150,000名用户登录了我们的应用程序,现在他们无法进入。请任何人有任何建议请帮助。

消息= '结果的StatusCode错误请求',ID = bbc37b22-9286-4c7d-8f45-806250156405,类别= 'Client.pvbchak'

这个程序已经工作了2年,使用Facebook登录没有问题。然后在上个月晚些时候发生变化之后突然不起作用。每次404错误。

仅供参考 - 我们的Facebook仪表板表示使用API​​ v2.3,这就是为什么我在上面选择它。但是我没有提出任何通过该API弃用的调用。另外Azure的Facebook身份验证处理后端,适用于无数其他人。

失败的确切图形url可以根据请求发送。

请帮忙!谢谢! 最后已知的工作日期 2017年3月26日

提琴手跟踪

2017-04-17T18:16:02 PID [13220]信息消息='开头的请求:GET hzzps://setellit.azure-mobile达网络/登录/ Facebook的(AntaresRequestId:262d45e9-6a45-4af4-bfb8-1c0635a1e921)”,ID = 1ef13922-d6aa-4f7c-944A-d91002728d06,类别= 'Service.MessageHandlers'

2017-04-17T18: 16:02 PID [13220]信息消息='请求完成(StatusCode:401)',Id = 1ef13922-d6aa-4f7c-944a-d91002728d06,Category ='Service.MessageHandlers'

2017-04-17T18:16:03 PID [13220]错误消息='请求URI hzzps://graph.facebook.com/oauth/access_token grant_type = authorization_code &代码= AQCuxPK8rqgEVuMpVV-BVU7DvMeAj8kLt1uybhaGfAsGjTqT1c8XVsOmXUVAQRnLuhEot8YJh9m9aEMZs36tyPODbXK7mf9-aRK4VB6EegxuVCeXZBA9jMHmjBu2bahkWSvsppsz2XebSbQf1_PhofejkSfih9QRu3w-dKyOSW9jSGCYWu_ID1CL3WeoOsHsRUN6eIr2HajGGwfdIVm8V2Zkp9cvee9IIvJxU9oOx57q8EnHRX1_qa8hE2ImCE3hLyPuZUwvzZrbp_jGpNuONmV6edI5QkzeQOzXzv2wX3rrLsewubqiUgYbqMswmED8YPY & REDIRECT_URI = HTTPS:%2F%2Fsetellit.azure-mobile.net%2Fsignin Facebook的& CLIENT_ID = 1379963935653653 & client_secret = XXXXXXX”,ID = bbc37b22-9286-4c7d-8f45-806250156405,类别= 'Client.pvbchak'

2017-04-17T18:16:03 PID [13220]错误消息e ='Result statuscode BadRequest',Id = bbc37b22-9286-4c7d-8f45-806250156405,Category ='Client.pvbchak'

2017-04-17T18:16:03 PID [13220] Error Message ='request uri hzzps://graph.facebook.com/me?access_token =',Id = 51b0e6ec-fb3e-415f-8642-44c153534640,Category ='Client.pvbchak'

2017-04-17T18:16:03 PID [错误消息='结果状态码BadRequest',Id = 51b0e6ec-fb3e-415f-8642-44c153534640,Category ='Client。pvbchak'

2017-04-17T18:16:03 PID [13220] Error Message ='Authentication failed',Exception = System.Net.Http.HttpRequestException:响应状态码不表示成功:400(Bad Request) 。

在System.Net.Http.HttpResponseMessage.EnsureSuccessStatusCode()

在Microsoft.Owin.Security.Facebook.FacebookAuthenticationHandler.d__0.MoveNext(),ID = 00000000-0000-0000-0000-000000000000,类别='Microsoft.Owin.Security.Facebook.FacebookAuthenticationMiddleware'

2017-04-17T18:16:03 PID [13220] Information Message ='Beginning Request:GET hzzps://setellit.azure-mobile.net/login/facebook?error = access_denied(AntaresRequestId:4a542c6c-81b3-4038-995b-c1842d56b577)',Id = 06fe970a-7dc9-4875-ad03-9becc4a5e672,Category ='Service.MessageHandlers'

+0

你能够在本地重现问题吗?如果是这样,你能捕获一个Fiddler跟踪,它显示登录时来自Facebook的确切的HTTP 400错误响应? –

+0

@ChrisGillum添加上面的跟踪。不得不将网址更改为hzzp以避免被拒绝编辑。谢谢! –

+0

痕迹有所帮助,但这不是我所要求的。你有一个允许你在本地Windows开发机器上运行你的应用程序的设置吗?如果是这样,您可以使用Fiddler(http://www.telerik.com/fiddler)从浏览器和移动后端捕获易于阅读的网络跟踪。有了这些可以让我们更容易地跟踪问题出在哪里。上面的跟踪不显示任何浏览器交互,也不显示响应内容,所以它不是足够的信息。 –

回答

1

2017-04-17T18:16:03 PID [13220]错误消息='请求URI hzzps://graph.facebook.com/oauth/access_token grant_type = authorization_code &代码= AQCuxPK8rqgEVuMpVV-BVU7DvMeAj8kLt1uybhaGfAsGjTqT1c8XVsOmXUVAQRnLuhEot8YJh9m9aEMZs36tyPODbXK7mf9-aRK4VB6EegxuVCeXZBA9jMHmjBu2bahkWSvsppsz2XebSbQf1_PhofejkSfih9QRu3w-dKyOSW9jSGCYWu_ID1CL3WeoOsHsRUN6eIr2HajGGwfdIVm8V2Zkp9cvee9IIvJxU9oOx57q8EnHRX1_qa8hE2ImCE3hLyPuZUwvzZrbp_jGpNuONmV6edI5QkzeQOzXzv2wX3rrLsewubqiUgYbqMswmED8YPY & REDIRECT_URI = HTTPS:%2F%2Fsetellit.azure-mobile.net%2Fsignin Facebook的 & CLIENT_ID = 1379963935653653 & client_secret = XXXXXXX”,ID = bbc37b22-9286-4c7d-8f45-806250156405,类别= 'Client.pvbchak'

Microsoft.Owin.Security.Facebook.FacebookAuthenticationHandler .d__0.MoveNext(),ID = 00000000-0000-0000-0000-000000000000,类别= 'Microsoft.Owin.Security.Facebook.FacebookAuthenticationMiddleware'

根据你的网络痕迹,我假定你正在使用的中间件app.UseFacebookAuthentication为您的移动后端代码验证使用Facebook的用户。

请帮忙!谢谢!最后已知的工作日期2017年3月26日

由于Facebook图形API Changelog指出API V2.2供应至25,2017三月,和Facebook做了一个力升级从V2.2到V2.3,它返回当您将authorization_code换成access_token时,不会被URL编码,而是有效的JSON。有关更多详细信息,请参阅Changelog从v2.2到v2.3的更改。我假定您可以尝试将Microsoft.Owin.Security.Facebook升级到3.1.0,并且您可以尝试调用https://graph.facebook.com/v2.8/me?access_token={your-access-token}来检索记录的用户信息。还有一个类似的问题,你可以参考it