HTTP规范说;
HTTP访问身份验证在" HTTP身份验证中描述: 基本和摘要访问认证" [43]。如果是请求 经过身份验证和指定的域,相同的凭据应该是 对该领域内的所有其他请求有效(假设为 认证方案本身并不需要,例如 作为根据挑战值或使用而变化的凭证 同步时钟)。
我真的不明白这意味着什么,但是我的情况是这里有什么反对HTTP规范的吗?我使用Java Rest服务
现在这感觉不对,因为我真正使用auth令牌做的事情并不是真正的HTTP基本授权。在请求之间使用相同的标头也是不一致的。
但另一方面,我不想为令牌交换创建另一个自定义标头。因为当您使用自定义标头时,它很难使用测试工具对它们进行编码。请求之间仍然存在不一致的标头。
注意:这些请求引用不同的端点
你有什么建议?
答案 0 :(得分:0)
如果你这样做,既然你使用相同的标题,那么当登录是实际登录而不是你的令牌时,你不需要服务器端逻辑来区分吗?在一天结束时,HTTP授权已经是一个令牌(只是用户名/密码字符串的简单编码版本),所以在所有情况下你都收到一个令牌,现在你必须解码它,决定它是否是你的一个会话令牌,或者如果它是用户名/密码,因此检查两个“好令牌”来源。
我会建议不要这样做,但不是因为你违反了标准,它只是让人感到困惑。
为什么首先需要将用户名/密码更改为令牌?您是否重定向到不再需要HTTP Basic Auth的端点?