我正在为一个练习网站编写身份验证机制。我已经成功创建了安全令牌,但是我希望在登录后的每个请求中都发送它以进行授权。
我希望将其设置为Authorization Header,但是我认为如果用户通过浏览器栏访问URL,则不会设置标头。
如何让客户端记住每次访问我的域名时都要发送Authorization header?
另外,我不想将令牌作为cookie发送。
简而言之:
我有几个关于Authorization Header行为的问题:
1.是否需要在每个请求中发送Authorization Header,还是浏览器会自动执行?
2.如果不是自动执行,在浏览器栏中进行的用户输入的GET请求永远不会被验证,因为没有任何JavaScript可以附加Header,您将如何解决此问题,而不使用cookies?(页面重定向?)
3.如果我需要在每个请求中发送Authorization header,最好的解决方案是什么?
PS
我正在使用JavaScript,没有任何框架。
我希望将其设置为Authorization Header,但是我认为如果用户通过浏览器栏访问URL,则不会设置标头。
如何让客户端记住每次访问我的域名时都要发送Authorization header?
另外,我不想将令牌作为cookie发送。
简而言之:
我有几个关于Authorization Header行为的问题:
1.是否需要在每个请求中发送Authorization Header,还是浏览器会自动执行?
2.如果不是自动执行,在浏览器栏中进行的用户输入的GET请求永远不会被验证,因为没有任何JavaScript可以附加Header,您将如何解决此问题,而不使用cookies?(页面重定向?)
3.如果我需要在每个请求中发送Authorization header,最好的解决方案是什么?
PS
我正在使用JavaScript,没有任何框架。
Basic
,Digest
还是 OAuth2.0 的Bearer
?根据你在 @Veselin 的回答中的评论,我猜测应该是Bearer
。只是为了确认一下。 - shaochuancsBasic
和Digest
,浏览器会自动发送Authorization
头。请检查我的答案。不幸的是,对于Bearer
,我在相应的 RFC 中没有找到任何有趣的描述。 - shaochuancs