【发布时间】:2021-10-15 06:59:21
【问题描述】:
我对使用 OIDC 的后端 api 授权流程有点困惑。
我已经用 rest 后端 api 响应 SPA 应用程序。
我想允许应用客户端注册他们自己的 OIDC 提供商以进行登录/注册。
OpenID Connect JWT 令牌验证和使用的策略是什么?
目前我这样做:
- 客户端添加提供程序,指定
clientId、clientSecret、issuer。 - 在后端,我使用 OIDC Discovery 获取提供程序元数据。
- 在客户端使用具有身份验证代码流的提供程序点击登录按钮后,我们最终在后端回调处理程序中交换代码:
{
access_token: 'str',
id_token: 'str.str.str',
scope: 'openid profile email',
expires_at: 1628797367,
token_type: 'Bearer'
}
现在是一个问题,下一步该做什么?向应用发送什么令牌以供 api 请求使用以及如何在每个请求上验证它?
我可以将id_token 发送到应用程序,然后在每个api 请求上使用从提供程序JWKS 加载来验证id_token。
或者我可以根据id_token 授权/注册用户并创建我自己的 JWT 令牌,该令牌将发送到应用程序以供 api 请求使用。
使用过的包:hapi、node-openid-client
【问题讨论】:
标签: jwt openid-connect openid