OIDCStrategy에 대한 여러 정책을 동일한 응용 프로그램 내에서 사용할 수 있습니까? 에 의해 App1 (ClientID1) 또는 App2 (ClientId2)를 통해 인증해야하는 응용 프로그램이 있습니다.passport-azure-ad를 사용하는 OIDCStrategy에 대한 여러 정책
Passport-Azure-Ad OIDCStrategy를 사용할 때, 나는 항상 그 중 하나만을 통해 인증을받습니다. 여기 구성된 전략은
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"키를 실제로 추가하는 전략 다른 전략을 추가 할 때 기존 전략을 재정의합니다.
이렇게 말하면 최신의 것을 사용합니다.
여전히 여러 시나리오를 통해 앱을 여러 AAD 애플리케이션을 통해 인증해야하는 솔루션이 있습니까? ?
해결책 : 지금까지 우리는 멀티 테넌트 AAD 애플리케이션을 등록하고 우리가 원하는대로 세입자를 제한해야합니다.
내 이해를 바탕으로 여러 Azure AD 응용 프로그램을 등록하는 것이 올바른 해결책입니다. 이 솔루션이 만날 수 없다는 다른 요구 사항이 있습니까? –