Gle*_*nnS 18 amazon-web-services oauth-2.0 jwt amazon-cognito
当 Amazon Cognito 发布访问令牌时,它不包含aud
字段。
在Cognito 令牌的文档中,该aud
字段针对 id 令牌(始终设置为与 相同的值client_id
)列出,但没有针对访问令牌列出。
如果处理该声明的委托人在此声明存在时未使用“aud”声明中的值标识自己,则必须拒绝 JWT。
那么,这里发生了什么。谁是对的?这是安全问题吗?
我注意到iss
令牌的部分特定于我的用户池,并且不能被篡改,因为它是由亚马逊签名的,所以我认为我应该是安全的
虽然 OAuth 2 和 JWT 非常混乱,所以我想得到更多的意见。
从我对 RFC 的阅读来看,我不认为 AWS 做错了什么,特别是(注意我的重点):
如果主处理的权利要求不与值标识其自身的“AUD”要求当这种说法是本,则必须JWT被拒绝。
此声明的使用是可选的。
我相信,这意味着 AWS 很好,因为它只是在访问令牌的情况下省略了声明,但它通过将其设置为何时对 id 提出声明来识别自己(以自己的方式)client_id
令牌。
应该注意的是,访问令牌本身确实对受众进行了编码和强制执行;因为当您针对 AWS 的 API 使用它时,它会强制您只接收针对其发布的 client_id/scope 上的可用资源。
归档时间: |
|
查看次数: |
4078 次 |
最近记录: |