我正在对 NodeJS、Express Web 应用程序进行身份验证,我希望在该应用程序中将用户路由到 microsoft SSO。我正在使用护照天蓝色广告并打开 id connect 来执行此操作。
不过我想知道的是——
是否只能通过隐式授权进行 Open ID 连接?或者 c 我们可以使用身份验证流程进行 open id 连接吗?如果是这样,passport-azure-ad 是否支持它?
我正在对 NodeJS、Express Web 应用程序进行身份验证,我希望在该应用程序中将用户路由到 microsoft SSO。我正在使用护照天蓝色广告并打开 id connect 来执行此操作。
不过我想知道的是——
是否只能通过隐式授权进行 Open ID 连接?或者 c 我们可以使用身份验证流程进行 open id 连接吗?如果是这样,passport-azure-ad 是否支持它?
根据 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
项目,例如发行者、受众等
希望有帮助~