我对auth-scheme
有疑问。我偶然发现了JSON Web Tokens和官方页面之一:
他们使用
Authorization: Bearer <token>
过去,我对Authorization: JWT <token>
很熟悉,并认为这是正确的,直到今天,我阅读了官方JWT网页,他们使用Bearer <token>
代替。
我正在测试Knock Rails gem:https://github.com/nsarno/knock并且使用这个库,我能够使用随机身份验证方案向我的Rails API发出Postman请求:
我甚至可以完全摆脱身份验证计划:
但是,当我从Authorization标头中删除我的JWT令牌时,它会按预期返回401 Unauthorized响应,所以我知道它正在工作?
所以我开始思考......认证方案是否有目的?
库或Web服务器是否应该在授权标头中尊重/尊重/强制执行auth-scheme的正确用法?
我在寻求答案时遇到了这篇Stackoverflow帖子:
Custom HTTP Authorization Header
显示官方格式为:
credentials = auth-scheme #auth-param
给出的例子更奇怪:
Authorization: FIRE-TOKEN apikey="0PN5J17HBGZHT7JJ3X82", hash="frJIUN8DYpKDtOLCwo//yllqDzg="
我不知道这是否符合编程问题。我可以盲目地关注/使用第三方库。
授权方案的目的是什么?
我没有加密/计算机安全专家。
也许有人可以对这个问题有所了解(或者可能没有问题?)?