Gre*_*reg 9 oauth oauth-2.0 jwt json-web-token
我正在我的应用程序中使用JWT实现OAuth 2.0,并且无法确定将我的aud声明设置为什么.用户将通过我的身份验证服务器"登录"我的客户端以访问我的API(资源)服务器.我希望我的令牌仅对特定客户端和特定API有效.
从我的客户端登录时,我将其包含client_id在请求中,但在我发现的大多数 实现中 ,将其设置为.我倾向于包括客户在我的登录请求字段,然后设置在令牌的数组和,但感觉像它只是意味着该令牌都有效的,这让我觉得我应该只需添加一个自定义声明,专门声明此令牌是为特定客户端创建的. audclient_idaudience_idaudclient_idaudience_idaudiencesclient
我没有遇到任何在线实现,包括OAuth登录请求中的a client_id和audience_id(s),也没有client 在规范中看到保留的声明.
我在这里错过了什么吗?
什么是专门陈述不同client_id和audience_idJWT的最佳做法?
JWT的受众是资源服务器,因为这是令牌将被处理,即验证,检查和采取行动的地方.来自RFC 7519,https://tools.ietf.org/html/rfc7519#section-4.1.3 :
"aud"(观众)声明标识了JWT的
目标收件人.每个打算处理JWT的校长都必须
在受众索赔中标明自己的价值.
[...]
受众价值观的解释通常是针对具体应用的.
[...]
因此,最佳做法是aud识别资源服务器.
客户端只是令牌的演示者,最佳做法(即在OpenID Connect和一些新出现的OAuth 2.0 exension drafts中)使用azp(授权演示者)进行该声明.来自http://openid.net/specs/openid-connect-core-1_0.html#CodeIDToken:
azp
可选的.授权方 - 签发ID令牌的一方.如果存在,它必须包含该方的OAuth 2.0客户端ID.仅当ID令牌具有单个受众值并且受众与授权方不同时才需要此声明.
[...]
因此,最佳做法是azp识别客户.
| 归档时间: |
|
| 查看次数: |
4027 次 |
| 最近记录: |