2016-08-18 581 views
6

X-Auth-Token:dadas123sad12与Authorization:Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ ==头的区别是什么?哪一个是首选的X-Auth-Token与授权头的区别是什么?首选

+0

嗨迪帕克,欢迎来到堆栈溢出。这是一个相当广泛的问题 - 你能解释一下你对两种不同的授权头文件的了解吗,以及你为什么需要在它们之间做出选择? –

+0

我只是想知道两者之间的区别。为了将其与附加JWT令牌附加的完整服务相关联。所以很困惑使用哪种类型的头文件。 @VinceBowdren – Deepak

+0

基本上,Authorization:Basic用于登录,然后返回一个生成的令牌,该令牌在进一步请求时返回以证明您是谁。 –

回答

1

'授权:基本'是指基本认证,浏览器/客户端必须提供每个请求的用户名/密码。

如果'x-auth-token'用户必须首次提供用户名/密码,并且服务器在头字段'x-auth-token'中返回一个访问令牌。对于进一步的会话,交换该令牌,而不是用户名/密码。

+0

“n'x-auth-token'的情况......”你怎么知道这个?这是[官方认证框架]之外的非标准认证方案(https://tools.ietf.org/html/rfc7235)。 – DaSourcerer

+0

@DaSourcerer它已经有一段时间了,我研究了这个问题,但在Spring框架中验证了实现(对于基本身份验证和x-auth-token)并且它是正确的。 – user18853

+0

啊,我的不好。我没有意识到这个问题是针对春天的;我只是假设了一般情况。 – DaSourcerer

9

Authorization是客户端使用的主要标头验证针对HTTP中的对等方,如RFC 7235所预见。它通常与Basic认证方案相关,按照RFC 7617,但这不是给定的。

Basic scheme允许客户端提供用Base64编码的冒号(:)分隔的用户名密码对。不能强调的是,这是一个传输编码,它没有提供真正的安全优势。例如。你给出的例子可以简单地'解密'成Aladdin:open sesame

通过IANA HTTP Authentication Scheme Registry(另请参阅:RFC 7235, sec. 5.1),您将找到与OAuth 2.0密切相关的Bearer方案(在RFC 6750中定义)。 X-Auth-Token提供了一个快捷方式,因为它(大概)不依赖于OAuth或HTTP身份验证框架。

请注意,X-Auth-Tokenunregistered header,它不受正式规范限制,它的存在和内容总是与各自的应用程序绑定在一起。没有一般的假设可以做出来。