从Azure登录失败并返回BadRequest

时间:2017-04-21 23:07:57

标签: facebook azure-mobile-services

在旧Facebook API上个月被弃用之后,我们的Azure应用程序无法通过Facebook进行身份验证。 Azure团队向我保证,所需的所有更新都在我们的服务器上完成,但仍然没有运气。我花了无数个小时与Azure支持团队以及他们的移动应用程序开发人员合作。最后,我们提出的唯一问题是我们的设置(在我们的应用程序仪表板中)不正确,或Facebook因某种原因拒绝请求。

我有日志文件,fiddler跟踪以及有关呼叫和后续失败响应的其他信息。

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

Message ='Result statuscode BadRequest',Id = bbc37b22-9286-4c7d-8f45-806250156405,Category ='Client.pvbchak'

此应用程序已使用超过2年,使用Facebook登录时没有任何问题。然后在上个月末改变之后突然间它不起作用。每次404错误。

仅供参考 - 我们的Facebook仪表板上说使用的是API v2.3,这就是我选择它的原因。但我没有进行任何被该API弃用的调用。此外,Azure的Facebook身份验证是在后端处理的,适用于无数其他人。

失败的确切图表网址可以根据要求发送。

请帮忙!谢谢! 最后一个工作日期 2017年3月26日

Fiddler Trace

2017-04-17T18:16:02 PID [13220]信息消息='开始请求:获取hzzps://setellit.azure-mobile.net/login/facebook(AntaresRequestId:262d45e9-6a45-4af4-bfb8- 1c0635a1e921)',Id = 1ef13922-d6aa-4f7c-944a-d91002728d06,Category ='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,Category ='Client.pvbchak'

2017-04-17T18:16:03 PID [13220]错误消息='结果状态代码BadRequest',Id = bbc37b22-9286-4c7d-8f45-806250156405,Category ='Client.pvbchak'

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

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

2017-04-17T18:16:03 PID [13220]错误消息='验证失败',异常= System.Net.Http.HttpRequestException:响应状态代码不表示成功:400(错误请求)。

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

at Microsoft.Owin.Security.Facebook.FacebookAuthenticationHandler.d__0.MoveNext(),Id = 00000000-0000-0000-0000-000000000000,Category ='Microsoft.Owin.Security.Facebook.FacebookAuthenticationMiddleware'

2017-04-17T18:16:03 PID [13220]信息消息='开始请求:获取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'

1 个答案:

答案 0 :(得分: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-实&安培; CLIENT_ID = 1379963935653653&安培; client_secret = XXXXXXX&#39 ;,编号= bbc37b22-9286-4c7d-8f45 -806250156405,类别=' Client.pvbchak'

     

at Microsoft.Owin.Security.Facebook.FacebookAuthenticationHandler .d__0.MoveNext(),Id = 00000000-0000-0000-0000-000000000000,Category =' Microsoft。 Owin.Security.Facebook.FacebookAuthenticationMiddleware '

根据您的网络跟踪,我假设您使用中间件app.UseFacebookAuthentication通过移动后端代码验证使用Facebook的用户。

  

请帮忙!谢谢!最后一个工作日2017年3月26日

由于Facebook Graph API Changelog声明API v2.2在2017年3月25日之前可用,并且facebook从V2.2强制升级到v2.3,后者返回有效的JSON而不是URL编码当您为authorization_code兑换access_token时。有关详情,请参阅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