我有一个为用户生成令牌的资源.我想添加可能性选择令牌生成算法. 我无法更改请求结构,但可以添加一些带有算法名称的HTTP标头.我的问题是选择什么标题? Accept会被接受吗? 我目前
我无法更改请求结构,但可以添加一些带有算法名称的HTTP标头.我的问题是选择什么标题? Accept会被接受吗?
我目前使用Accept-Token-Algorithm标头来发送RS256和HS256等值.
My question is what header to choose? Would
Accept
be acceptable?
那个目的没有standard header.
如果客户端和服务器都同意Accept-Token-Algorithm,那么这似乎是一个合理的选择.更具描述性(和详细)的替代方案是Accept-Token-Signature-Algorithm(假设JWT实际上是JWS)和Accept-Token-Encryption-Algorithm(用于JWE).
请注意,您的API与您为其提供的文档一样好,自定义标头对API使用者来说并不明显.因此,请确保您正确记录.
如果请求中不存在所需的标头,并且确保验证您收到的值,则还应考虑回退到默认算法.有关各种用途的有效算法列表,请参阅RFC 7518:
> Digital signatures and MACs
> Content encryption
> Key management for JWE
有关如何为JWT选择算法的详细信息,请查看this page.