【发布时间】:2022-02-09 01:59:16
【问题描述】:
我有一个获取 JWT 访问令牌的公共客户端。我需要它来获取另一个(不是刷新,而是出于其他目的),并且我需要它在没有用户交互的情况下完成它。
因此,我试图弄清楚是否有一个标准的 OAuth 流,我可以在其中使用 (JWT) 访问令牌(在以前的 OAuth 流中发布)用于对另一个 OAuth 流进行身份验证(我可以' t 使用客户端密钥进行身份验证,因为它是公共客户端)。
我发现的所有东西都不是完美的匹配。
它确实允许通过 JWT 令牌进行身份验证。但是,它需要客户端颁发 JWT 令牌(由客户端拥有的证书签名)并检查签名。因此,我无法使用授权服务器为此目的颁发的 JWT 访问令牌。
这个允许使用 JWT 访问令牌并获取另一个 JWT 访问令牌。如此接近,但没有雪茄。此流程中不使用 JWT 访问令牌进行身份验证。因此,您仍然需要客户端 ID + 客户端密码来进行身份验证
- 令牌刷新
这一个可能可以使用它。只需使用刷新令牌来获取新的 JWT 访问令牌。但是,它感觉很hacky。 (我可能需要经常执行此操作,因此,感觉就像是在滥用令牌刷新机制。另外,我的猜测是它会逐渐用使用过的刷新令牌污染数据库(这是一个很小的次要问题,但是,再次这个解决方案感觉很老套)。
我错过了什么吗?
【问题讨论】:
标签: authentication oauth-2.0 oauth jwt