2

Azure ADにリンクされたAzure App Service/Web APIがあり、認証が機能していますが、クライアントトークンは1時間後に期限切れになるため、OAuth refresh_tokenを有効にします。私のサービスで/auth/meを呼び出した結果を調べると、refresh_tokenは表示されません。トークンストアは、アプリサービスで有効になっています。リフレッシュトークンを有効にするためにAzure ADを設定する方法

私は次のようにAzureのADマニフェストにoauth2permissionsにそれを追加しようとしましたが、(私がアプリケーションサービスを再起動し、トークンのキャッシュの場合には、私のサービスを再デプロイしている)は表示されません。

"oauth2Permissions": [ 
    { 
     "adminConsentDescription": "Allow the application to store a refresh token on behalf of the signed-in user.", 
     "adminConsentDisplayName": "Refresh tokens", 
     "id": "3AGH4D29-B64A-4A9A-8DBC-5DB3C8BBBD75", 
     "isEnabled": true, 
     "type": "User", 
     "userConsentDescription": "Allow the application to store a refresh token on your behalf.", 
     "userConsentDisplayName": "Store refresh token", 
     "value": "refresh_token" 
    } 
] 

私はここで与えられた指針で私の試みをベースしている: https://cgillum.tech/2016/03/07/app-service-token-store/

+0

ライブラリ(ADAL.Netなど)を使用していますか?ヴィトーリオのこのブログ記事をご覧ください:http://www.cloudidentity.com/blog/2015/08/13/adal-3-didnt-return-refresh-tokens-for-5-months-and-nobody-noticed/ 。 –

+0

@GauravMantriそれは面白いです、ありがとう、それは私に考えて何かを与えてくれました。クライアントがトークンを要求していない可能性があります。私は、Azureモバイルサービスクライアントsdkを使用して認証しています。現時点では、私はMobileServiceClient.LoginAsync()メソッドを使用しています。これはおそらくADALの抽象化であり、私はそれを調べなければなりません。私はもっ​​と多くの "手動で"認証するサンプルを見てきました。これはrefresh_tokenを要求するコントロールを私に与えるかもしれません。 – user381624

答えて

1

私はここにガイダンスを使用して、これを解決:https://cgillum.tech/2016/03/25/app-service-auth-aad-graph-api/

基本的には、持っていますアプリサービスの認証設定を更新します。 UIはありませんので、私は空白のリソースエクスプローラを使いました。

鍵はadditionalLoginParamsの値を["response_type=code id_token", "resource=https://graph.windows.net"]に設定していました。

関連する問題