2017-04-21 118 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