HTTP标头允许客户端选择JWT算法

gab*_*bba 3 http jwt

我有一个为用户生成令牌的资源.我想添加可能性选择令牌生成算法.

我无法更改请求结构,但可以添加一些带有算法名称的HTTP标头.我的问题是选择什么标题?请问Accept是否可以接受?

我目前使用Accept-Token-Algorithm标头发送像RS256和的值HS256.

cas*_*lin 5

我的问题是选择什么标题?请问Accept是否可以接受?

为此目的没有标准标题.

如果这两个客户端和服务器同意Accept-Token-Algorithm,这似乎是一个合理的选择.更具描述性(和冗长)的替代方案Accept-Token-Signature-Algorithm(假设JWT实际上是JWS)和Accept-Token-Encryption-Algorithm(对于JWE).

请注意,您的API与您为其提供的文档一样好,自定义标头对API使用者来说并不明显.因此,请确保您正确记录.


如果请求中不存在所需的标头,并且确保验证您收到的值,则还应考虑回退到默认算法.有关各种用途的有效算法列表,请参阅RFC 7518:


有关如何为JWT选择算法的详细信息,请查看此页面.