OIDCStrategyの複数のポリシーを同じアプリケーション内に含めることはできますか。 私は によって認証される必要があるアプリケーションをApp1(ClientID1)またはApp2(ClientId2)を通じて提供しています。passport-azure-adを使用したOIDCStrategyの複数のポリシー
Passport-Azure-Ad OIDCStrategyを使用している場合、私は常にそのうちの1つだけで認証されています。ここで構成された戦略がある
app.get('/login1',
passport.authenticate('azuread-openidconnect', { failureRedirect: '/' }),
....
});
app.post('/auth/openid/return1',
passport.authenticate('azuread-openidconnect', { failureRedirect: '/' }),
function(req, res) {
...
});
app.get('/login2',
passport.authenticate('azuread-openidconnect', { failureRedirect: '/' }),
....
});
app.post('/auth/openid/return2',
passport.authenticate('azuread-openidconnect', { failureRedirect: '/' }),
function(req, res) {
...
});
:
はここでルートです。
passport.use(new OIDCStrategy({
clientID: config.creds.clientID1,
redirectUrl: config.creds.redirectUrl1,
clientSecret: config.creds.clientSecret1,
...
});
passport.use(new OIDCStrategy({
clientID: config.creds.clientID2,
redirectUrl: config.creds.redirectUrl2,
clientSecret: config.creds.clientSecret2,
...
});
アップデート:これはpassport-azure-adからサポートされていません。 深く入り込んで確認しました。新しい戦略を追加すると、実際には "azuread-openidconnect"というキーを追加する戦略 別の戦略を追加すると、その戦略を上書きします。
passport._strategies['azuread-openidconnect']
これは、最新のものを使用しています。
まだ複数のAADアプリケーションでアプリケーションを認証する必要があるという私のシナリオに対する解決策がありますか? ?
解決策はこれまでのところです:マルチテナントAADアプリケーションを登録し、テナントを私たちが望むものに制限する必要があります。
私の理解に基づいて、複数のAzure ADアプリケーションを登録するのが適切なソリューションです。この解決策が満たせないという別の要件がありますか? –