AppServiceに対してMobileServiceClientを使用してGoogleトークンをリフレッシュすることについて何か変更されました。以前は、MobileServiceClientを使用してXamarin FormsアプリでGoogleトークンを更新することができました。さて、ログイン後、リフレッシュしようとすると、何も返されません。次のようにApp Service Refresh Tokens
私のログインコードは次のとおりです。
public class Authentication : IAuthentication
{
public async Task<MobileServiceUser> LoginAsync(MobileServiceClient mobileClient, MobileServiceAuthenticationProvider provider)
{
return await mobileClient.LoginAsync(
Forms.Context,
provider,
new Dictionary<string, string>()
{
{ "access_type", "offline" }
});
}
}
マイリフレッシュコードは次のとおりです。私は私のログインに成功した直後にリフレッシュしてみても、
var user = await MobileService.RefreshUserAsync();
リフレッシュが失敗します。 Token Store
は「オン」に設定されています。リフレッシュは、Microsoftプロバイダに対して正常に動作します。それは数ヶ月前に働いていた。 https://[my-website].azurewebsites.net/.auth/meに直接ブラウズ
"あなたが正常に署名した" https://[my-website].azurewebsites.net/.auth/login/googleリターンに直接ブラウズ
Microsoft.Azure.Mobile.ClientのV3.1.0
Microsoft.Azure.Mobile.Server v2.0.0デベロッパー
戻り[{ "access_tokenは": "ya29.Gl3ZAw6B1H0cT_e6vRlHgwQd0U-bcDSKo_CGQ9wKwPH8H-EbtNojP61JSzDaiIgSzU14PrT3QRb14NsFPhFYrU8ikCPGkhwKkZMAtHCNSdzDhTPm5cl89VrAlNc3vRU"、 "expires_on": "2017-01-20T15:00:21.3928445Z"、 "id_token": "eyJhbGciOiJSUzI1NiIsImtpZCI6IjZlYzMwOTBlZjgyM2YxMWFhN2VhNDE0N2FlZWM1Zjk0YmViNWZkMDMifQ.eyJpc3MiOiJodHRwczovL2FjY291bnRzLmdvb2dsZS5jb20i LCJpYXQiOjE0ODQ5MjA4MjEsImV4cCI6MTQ4NDkyNDQyMSwiYXRfaGFzaCI6IlhHa3dqOFpiZU9GX2N3SmpqeEpMRnciLCJhdWQiOiI3NDgwNzM0Njg2NDktanRtNTl0N21sY3NjaTg5bG9rYnV2c2VvYW5uMjhiZ3EuYXBwcy5nb29nbGV1c2VyY29udGVudC5jb20iLCJzdWIiOiIxMDE4MTI5MTIzODE5MTgwNDA4NDciLCJlbWFpbF92ZXJpZmllZCI6dHJ1ZSwiYXpwIjoiNzQ4MDczNDY4NjQ5LWp0bTU5dDdtbGNzY2k4OWxva2J1dnNlb2FubjI4YmdxLmFwcHMuZ29vZ2xldXNlcmNvbnRlbnQuY29tIiwiZW1haWwiOiJnY3JvY2tlbmJlcmdAZ21haWwuY29tIiwibmFtZSI6ImdlcmFyZCBjcm9ja2VuYmVyZyIsInBpY3R1cmUiOiJodHRwczovL2xoNS5nb29nbGV1c2VyY29udGVudC5jb20vLVpINUxBQ1RhQTRJL0FBQUFBQUFBQUFJL0FBQUFBQUFBQUFBL0FLQl9VOHRpamZ5ZUN3Qk9tWUxzTmM4QUZJcTNDVGJhVHcvczk2LWMvcGhvdG8uanBnIiwiZ2l2ZW5fbmFtZSI6ImdlcmFyZCIsImZhbWlseV9uYW1lIjoiY3JvY2tlbmJlcmcifQ.Qie3hRwKP-mbzMp3gzWatmQdLLVw3Ae7PXw1Ly8Se7-EQWBPgky0TsQ-fvZIasiHaq1tQu9lXyNu9qYqaaAvKxKCGxRE5yYhC76Yar_rQig14lf42bMRYQ3ADzwsPZ0yUbEpk-h4_HU5Ld1lNqYG-hgzEdUsJm_uspJk7FggwcfuPw-YQJr-GXbqd2Om9fmgGPrPrsFy7EzPGL27q_BIY3cOLEVX0e3tbAAVhxFCri835nBKdkYOP9X2g6wSuMWCq6iPOjFzErhVYR_WUwi5H-UW6mJHswcAfs_3H "{" typ ":" iss "、" val ":" https://accounts.google.com "}、{" typ ":" iat " "val": "1484920821"}、{"typ": "exp"、 "val": "1484924421"}、{"typ": "at_hash"、 "val": "XGkwj8ZbeOF_cwJjjxJLFw"}、{"typ" : "aud"、 "val": "748073468649-jtm59t7mlcsci89lokbuvseoann28bgq.apps.googleusercontent.com"}、{"typ": "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier" "val": "101812912381918040847"}、{"typ": "email_verified"、 "val": "true"}、{"typ": "azp"、 "val": "748073468649-jtm59t7mlcsci89lokbuvseoann28bgq.apps.googleusercontent。 com "}、{" typ ":" http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress "、" val ":" [my-googleemail] "}、{" typ " : "名前"、 "val": "[my-name]"}、{"typ": "picture"、 "val": "https://lh5.googleusercontent.com/-ZH5LACTaA4I/AAAAAAAAAAI/AAAAAAAAAAA/AKB_U8tijfyeCwBOmYLsNc8AFIq3CTbaTw /s96-c/photo.jpg"},{"typ":"http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname","val":"[my-givenname] "}、{" typ ":" http://schemas.xm lsoap.org/ws/2005/05/identity/claims/surname","[""""my-surname]"}],"user_id":"[my-googleemail] "}]
直接閲覧私は最後のリフレッシュステップは作品「Microsoftアカウント」で、これらの手順を繰り返した場合https://[my-website].azurewebsites/.auth/refresh戻りに
「あなたは、このディレクトリまたはページを表示する権限がありません」。Azureの要求の追跡から
:
107 -GENERAL_FLUSH_RESPONSE_START
0ミリ秒
情報 108 -GENERAL_RESPONSE_HEADERS
ヘッダ のContent-Type:text/htmlの サーバー:マイクロソフト-IIS/8.0 X -FE-DATA:AppId:Unknown-StatusCode X-Powered-By:ASP.NET DWAS-Handler-Name:BEGIN | 403 | 80 | 0x0 | CONFIG_SUCCESS | ExtensionlessUrlHandler-Integrated-4.0 | ###。##。 ##。### | \ ###。##。##。## \ volume-4-default \ & ApiApp = 0
0ミリ秒
冗長 109 -GENERAL_RESPONSE_ENTITY_BUFFER
バッファ
あなたは、このディレクトリまたはページを表示する権限がありません。
0 MS
情報110 -GENERAL_FLUSH_RESPONSE_END
BytesSent 400
が正常に完了した操作をERRORCODE。
(0x0の)
あなたは直接ブラウザでモバイルバックエンドにアクセスし、自分のアカウントでログインでした。次に、 'https:// {your-appname} .azurewebsites.net/.auth/me'にアクセスして、ログに記録された情報を取得しようとします。また、 'https:// {your-appname} .azurewebsites.net/.auth/refresh'にアクセスして、アクセストークンをリフレッシュしてみてください。 Azure Portalのアプリケーションサービスのセクション "Authentication/Authorization> Advanced Settings"セクションで、 'Token Store'が" On "に設定されていることを確認してください。 –
さらに、[Fiddler](http://www.telerik.com/fiddler)を活用して、コードでトークンを更新するときに詳細な応答を取得することができます。可能であれば、詳細なエラーメッセージで質問を更新してください。 –
リクエストされた情報が質問に追加されました。 –