【问题标题】:Use Open ID connect with auth code flow Azure AD使用 Open ID 连接身份验证代码流 Azure AD
【发布时间】:2020-07-10 23:09:30
【问题描述】:
我正在对 NodeJS、Express Web 应用程序进行身份验证,我希望在该应用程序中将用户路由到 Microsoft SSO。我正在使用护照天蓝色广告并打开 id connect 来执行此操作。
不过我想知道的是——
是否只能通过隐式授权进行 Open ID 连接?或 c
我们可以使用身份验证流程进行 open id 连接吗?如果是这样,passport-azure-ad 是否支持它?
【问题讨论】:
标签:
javascript
express
azure-active-directory
openid-connect
passport-azure-ad
【解决方案1】:
根据OpenID Connect的document,发送登录请求时会请求一个id_token(response_type是“id_token”)。我们可以从auth代码流的document看到,response_type是“代码”。但是我们根据这个tutorial,response_type也可以是auth code flow中的“code id_token”。
所以我们也可以在验证码流中做open id connect。
如果您想使用 passport-azure-ad,这里有一个method(用于身份验证代码流)供您参考。
params 是我们从请求或元数据中获取的项目,例如 id_token、代码、策略、元数据、cacheKey 等
oauthConfig 是 oauth 流所需的项目(如重定向、代码兑换),例如 token_endpoint、userinfo_endpoint 等
optionsToValidate 是我们需要验证 id_token 的项目,例如发行者、受众等
希望对你有帮助~