2017-07-30 13 views
0

ベアラ戦略を使用してPassport AAD projectを使用して、エンドポイントを保護しています。ログイン時にOIDC戦略を使用してトークンを受け取った後、アクセストークンの署名を検証するベアラー戦略が得られないようです。私が取得:Azure Active Directoryアクセストークンでベアラ認証を使用する

authentication failed due to: invalid signature 

私はid_tokenを検証し問題がないが、私はid_tokenは、AADでリフレッシュすることができない場合は、当社のクライアントアプリケーションのためにこれを使用しないでしょう。またjwt.ioを使用してpublished public keysで検証をテストすると、同じ問題が発生します(id_tokenは検証できますが、access_tokenは検証できません)。

アクセストークンを取得するときにステップがありませんか、アクセストークンの検証方法がわかりませんか?詳細

アップデート私は私のテナントからアクセストークンを要求しています:AADパスポートプロジェクトでOIDCStrategyを使用して

identityMetadata: https://login.microsoftonline.com/your_tenant_name.onmicrosoft.com/.well-known/openid-configuration, 
responseType: 'id_token code' 

const callbackOIDC = (iss, sub, profile, accessToken, refreshToken, params, done) => { 
    return done(null,{ 
    profile, 
    accessToken, 
    refreshToken 
    }); 
}; 

passport.use(new OIDCStrategy(config.creds, callbackOIDC)); 

は、それから私は、以下に示す、認証を実行します。

auth.adCallback = function (req, res, next) { 
    passport.authenticate('azuread-openidconnect', { 
    response: res, 
    resourceURL: 'https://graph.microsoft.com', 
    session: false 
    }, function (err, user, info) { 
    console.log(user.access_token); 
    })(req, res, next); 
}; 

私は、リソースのURLを指定することにより、トークン上のグラフへのアクセスを求めてきたかもしれないと思います。そのリソースURLを削除してもアクセストークンは取得されますが、ベアラ戦略では無効なトークンエラー(無効な署名エラーではなく)がスローされます。私はテナントと一致するように設定し、私が探しているアクセストークンを取得する必要がある別のリソースURLがありますか?

答えて

0

どのアクセストークンをリクエストしていますか?たとえば、アクセストークンがMicrosoft Graphに対して使用されている場合は、アプリケーションの検証ではなく、検証するGraphのタスクです。 実装しようとしている正確なシナリオを拡張できますか?また、どの時点でid_tokensを更新する必要がありますか?

+0

グラフのアクセストークンについてはあなたが正しいです。私はAADテナントのアクセストークンをどのように入手し、私の元の質問に少しの情報を追加することができるのか、ちょっと混乱しました。 –

関連する問題