Azure AD で認証すると 'unsupported_response_type' AADSTS700054 エラーが発生する現象と対処法を紹介します。
作成したASP.NET Coreアプリケーションで、Azure ADのアカウントで認証すると、以下のエラーが発生します。
2つ方法があります。
承認エンドポイントでIDトークンを発行する設定に変更します。
Azureポータルで、Azure Active Directory の設定画面を表示します。左側のメニューの[アプリの登録]の項目をクリックします。
下図の画面が表示されます。右側のエリアから、問題が発生しているアプリケーションの項目をクリックします。
アプリケーションの設定画面が表示されます。
右側のエリアの[リダイレクトURI]の[n個のWeb、n個のSPA、n個のパブリッククライアント]のリンクをクリックします。
リダイレクトURIの設定画面が表示されます。
下にスクロールし[暗黙的な許可およびハイブリッド フロー]の項目の[承認エンドポイントによって発行してほしいトークンを選択]の項目の
[ID トークン (暗黙的およびハイブリッド フローに使用)]のチェックボックスをクリックします。
[ID トークン (暗黙的およびハイブリッド フローに使用)]のチェックボックスにチェックがついたことを確認し、画面下部の[保存]ボタンをクリックします。
設定が変更され、保存できました。
しばらく時間を空けて、再度アプリケーションを実行し、エラーが解消されるか確認します。
アプリケーションでシークレットキーを作成し、appsettings.jsonのClientSecret
に設定します。
アプリケーションのシークレットキーの作成手順はこちらの記事を
参照してください。
{
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft.AspNetCore": "Warning"
}
},
"AzureAd": {
"Instance": "https://login.microsoftonline.com/",
"Domain": "example.ipentec.com",
"ClientId": "(クライアントID)",
"TenantId": "(テナントID)",
"ClientSecret": "(作成したシークレットキーを設定)",
"ClientCertificates": [
],
"CallbackPath": "/signin-oidc",
"SignedOutCallbackPath ": "/signin-oidc"
},
"AllowedHosts": "*"
}
しばらく時間を空けて、再度アプリケーションを実行し、エラーが解消されるか確認します。