0

我正在对 NodeJS、Express Web 应用程序进行身份验证,我希望在该应用程序中将用户路由到 microsoft SSO。我正在使用护照天蓝色广告并打开 id connect 来执行此操作。

不过我想知道的是——

是否只能通过隐式授权进行 Open ID 连接?或者 c 我们可以使用身份验证流程进行 open id 连接吗?如果是这样,passport-azure-ad 是否支持它?

4

1 回答 1

1

根据 OpenID Connect 的文档,它在发送登录请求时会请求一个 id_token(response_type即“id_token”)。而我们可以从auth code flow的文档response_type中看到,就是“code”。但我们根据本教程response_type也可以是身份验证代码流中的“代码 id_token ”。

在此处输入图像描述

所以我们也可以在 auth 代码流中做 open id connect。

如果您想使用 passport-azure-ad,这里有一个方法(用于验证码流)供您参考。 在此处输入图像描述 是我们从请求或元数据中获取的params项目,例如 id_token、代码、策略、元数据、cacheKey 等

oauth 流程所需的oauthConfig项目(如重定向、代码兑换),如 token_endpoint、userinfo_endpoint 等

我们需要验证 id_token的optionsToValidate项目,例如发行者、受众等

希望有帮助~

于 2020-03-31T04:11:05.113 回答