2

GoogleとMicrosoftアカウントを使用した認証でAzure App Serviceを使用しています。 私は 。で、ログイン時に問題なく、個人用サイト/ .auth /私にアクセスすることができます。しかし、トークンリフレッシュするために、/.auth/refreshは例外次のように私を返しています。アクセス許可エラー/.auth/refresh

このディレクトリまたはページを表示する権限がありません。

ここではAzureブレードでどのようなアクセスを許可するのか分かりません。

答えて

2

エラーメッセージは実際には少し誤解を招くことがあります。 APIにアクセスする権限がないわけではなく、トークンストアにリフレッシュトークンがない可能性があります。ユーザーのログイン時にリフレッシュトークンを取得する方法は、プロバイダごとに少し異なります。ここでは詳細:これが動作するためには

https://cgillum.tech/2016/03/07/app-service-token-store/

、トークンストアは、プロバイダのリフレッシュトークンが含まれている必要があります。あなたがこれを行う方法に慣れていない場合は、ここではいくつかのヒントです:

  • グーグル:モバイルアプリSDKを使用している場合(あなた/.auth/loginのAPIコールに"access_type=offline"クエリ文字列パラメータを追加し、これをLogicAsyncオーバーロードのいずれかに追加できます)。
  • Microsoftアカウント:Azure管理ポータルでスコープを選択します。
  • Azure AD:これはちょっと複雑ですが、enabling Graph API accessに私の次の投稿を見てください。設定手順に従ってAzure ADのリフレッシュトークンを取得することもできます(該当しない場合はRead directory dataresource=…部分は省略できます)。将来的にはこれを簡素化する計画です。
関連する問題