(下の例のすべてのIDが作成されています。いくつかのパラメータの形式を示すために、これらのIDを追加しました)。passport-azure-ad:なぜ「jwtオーディエンスは無効です」と表示されますか?
私のテナントはacme.co.ukですが、私はhttps://subdomain.acme2.co.ukに配備したWebアプリケーションでAzure ADにユーザーの認証を委任します。
new portal: (フィールド名は、紺碧のポータルで使用されているものです)を使用して私のアプリを以下のように登録しました。
のApp IDのURL:https://acme.co.uk/11111111-2222-3333-4444-555555555555
ホームページURL:https://subdomain.acme2.co.uk/api/auth/aad
返信のURL:https://subdomain.acme2.co.uk/api/auth/aad/callback
と値と有効期限はありません秘密鍵を作成しました: '111111111111111111/aaaaaaaaaaaaaaaaaaaaaaaa ='
私はpassport-azure-ad github sample using v1 endpointをガイドにしています。
{
allowHttpForRedirectUrl: false,
clientID: 'https://acme.co.uk/11111111-2222-3333-4444-555555555555',
clientSecret: '111111111111111111/aaaaaaaaaaaaaaaaaaaaaaaa=',
identityMetadata: 'https://login.microsoftonline.com/acme.co.uk/.well-known/openid-configuration',
isB2C: false,
issuer: null,
loggingLevel: 'info',
passReqToCallback: false,
redirectUrl: 'https://subdomain.acme2.co.uk/api/auth/aad/callback',
responseMode: 'form_post',
responseType: 'code id_token',
skipUserProfile: true,
useCookieInsteadOfSession: false,
validateIssuer: true
}
私は私のブラウザで「https://subdomain.acme2.co.uk/api/auth/aad」に着いたとき、私はそれからやるれ、ログインするMSにリダイレクトが、バック「https://subdomain.acme2.co.uk/api/auth/aad/callback」へのリダイレクトが発生したとき、私は認証されていませんよ。私が見たコールバックPOST要求からヘッダを検査
:
In _validateResponse: jwt audience is invalid. expected: https://acme.co.uk/11111111-2222-3333-4444-555555555555,spn:https://acme.co.uk/11111111-2222-3333-4444-555555555555
私が間違って何をやったか任意のアイデアを??? [: - |
(これは痛みです。私はドッカーで動作しており、リダイレクトは正しく動作していないようですので、実際の環境のATMに展開する必要があります)。
これはhttps://github.com/AzureAD/passport-azure-ad/issues/309ですか?補足として、リダイレクトは通常の302です。ブラウザでドッキングされたアプリケーションにアクセスできる場合は、リダイレクトが機能するはずです。 –
デバッグの面では、chrome開発ツール、ネットワークタブ、「ログの保存」を有効にし、login.microsoftonline.comに送られた 'state'クエリ文字列パラメータと' https: // subdomain.acme2.co.uk/api/auth/aad/callback'を実行します。 –
情報ありがとうございます。ええ、私はその問題を見ましたが、残念ながら私は最新のバージョン(3.0.8)です。私は、クエリ文字列の状態値をレスポンス 'フォームデータ' - > '状態'と比較しました。まったく同じ(URLエンコーディングは見られませんでした)。 –