【发布时间】:2015-11-07 22:22:46
【问题描述】:
我在我的应用程序中使用 JWT 实现 OAuth 2.0,但无法决定将什么设置为我的 aud 声明。用户将通过我的身份验证服务器“登录”到我的客户端以访问我的 API(资源)服务器。我希望我的令牌仅对特定客户端和特定 API 有效。
从我的客户端登录时,我在请求中包含的不是client_id,而是most implementations I've found,aud 设置为client_id。我倾向于在我的登录请求中包含一个客户 audience_id 字段,然后将令牌中的 aud 设置为 client_id 和 audience_id 的数组,但是 感觉就像它只是意味着该令牌对audiences 都有效,这使我认为我应该添加一个名为client 的自定义声明,以明确声明此令牌是为特定客户端创建的。
我没有遇到在 OAuth 登录请求中同时包含 client_id 和 audience_id(s) 的任何在线实现,我也没有看到对 client in the spec 的保留声明。
我在这里遗漏了什么吗?
在 JWT 中明确声明不同的 client_id 和 audience_id 的最佳做法是什么?
【问题讨论】:
标签: oauth oauth-2.0 jwt json-web-token