【问题标题】:How does client send an authentication token back to the user in OpenID connect?客户端如何将身份验证令牌发送回 OpenID 连接中的用户?
【发布时间】:2023-02-01 19:34:40
【问题描述】:
我正在学习 OpenID 连接和 OAuth2.0,我认为缺少一些东西,客户端在从授权服务器收到 ID 令牌后会做什么?
好的,它现在有一个包含用户信息的 JWT,但是当用户想要向客户端发送请求来做他想做的任何事情时,他应该在他的请求中附加一个令牌,对吧?那么,客户端何时会生成此令牌?据我所知,如果服务器使用 HTTP 作为其协议,如果用户未发出请求,它就无法向用户发送数据,因此如果没有请求,它就无法发送该令牌用户。
我错过了什么?
我试图搜索这些东西,但没有找到任何有用的东西。
【问题讨论】:
标签:
http
oauth-2.0
single-sign-on
openid-connect
【解决方案1】:
好的,它现在有一个包含用户信息的 JWT,但是当
用户想向客户端发送请求以执行他想做的任何事情
做,他应该在他的请求中附上一个令牌,对吧?
应该说“但是当客户想发送一个请求到服务器……”
如果服务器使用 HTTP 作为其协议,则它无法向用户发送数据
如果用户没有发出请求,那么它不应该能够发送
该令牌无需用户请求。
令牌将在登录过程中提供给客户端。
总结一下这个过程:
- 客户端输入凭据(例如用户名和密码)并将其发送到登录端点。
- 登录服务器会生成一个JWT返回给客户端。
- 客户端接收 JWT 并将其缓存在客户端本地,准备在后续请求中发送到服务器。
- 在对服务器的所有后续请求中,客户端将在 http 请求的授权标头中附加缓存的 JWT。
- 服务器将验证令牌以确保客户端已通过身份验证。