【发布时间】:2018-02-23 02:00:08
【问题描述】:
试图了解 OAuth2 中的 2-legged 客户端凭据方案。有人说 JWT 是访问令牌的绝佳格式,因为它是自包含的,资源服务器不需要验证来自授权服务器 (STS) 的令牌。但是这是怎么做到的呢?我看到资源服务器本身可以验证 JWT 的唯一方法是在服务器上存储一个用于验证签名的公钥。
【问题讨论】:
标签: authentication oauth-2.0 authorization jwt
试图了解 OAuth2 中的 2-legged 客户端凭据方案。有人说 JWT 是访问令牌的绝佳格式,因为它是自包含的,资源服务器不需要验证来自授权服务器 (STS) 的令牌。但是这是怎么做到的呢?我看到资源服务器本身可以验证 JWT 的唯一方法是在服务器上存储一个用于验证签名的公钥。
【问题讨论】:
标签: authentication oauth-2.0 authorization jwt
当使用 JWT 作为访问令牌时,资源服务器不需要调用授权服务器来验证它。实际上,资源服务器需要存储授权服务器的公钥才能这样做。获取该公钥是一个带外过程。
JWT 的验证包括检查签名以及对嵌入在令牌中的声明的一些额外检查,例如时间戳(iat、exp、nbf)和标识符(aud)。
与其他形式的签名数据/令牌相比,JWT 的优势在于 JWTS 是标准化且灵活的 wrt。他们使用的密码学使得可以使用标准库来创建/验证它们,而不必编写自定义代码。
【讨论】: