实施 OIDC 进行简单的委托授权

问题描述 投票:0回答:1

我想使用 OpenID Connect 为我的服务实现简单的委托身份验证,但我有点困惑客户端从身份验证服务器获取凭据后会发生什么。

我有一个原型命令行客户端,它在用户浏览器中打开身份验证服务器的登录页面,并在本地端口上处理回调,在本地端口上接收访问令牌和 ID 令牌。 但我不确定应该提供什么服务/应该如何验证所提供的服务。 服务应该从哪里获取 ID 令牌(客户端或身份验证服务器?),它需要验证/确定访问令牌(在客户端请求的标头中给出)对应于哪个用户?

authentication openid-connect access-token
1个回答
0
投票

客户端收到 ID 令牌,该令牌通知客户端如何以及何时进行身份验证。 ID 令牌保留在客户端中。

您的后端服务/API 具有资源服务器角色,应该只接收访问令牌。 API 不应接收 ID 令牌。

访问令牌中的用户声明

访问令牌应以对 API 有用的方式识别用户。默认情况下,访问令牌可能仅包含主题声明 - 生成的技术标识符。

因此,通常配置身份验证服务器来发出额外的声明来识别用户。就我个人而言,我尝试向访问令牌发出诸如

customer_id
patient_id
之类的值。在某些情况下,
email
可能就足够了。

因此,就您而言,感觉您应该在身份验证服务器中做更多的工作,以改进访问令牌中的声明。

© www.soinside.com 2019 - 2024. All rights reserved.