Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/spring-boot/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angularjs RESTful令牌认证澄清_Angularjs_Rest_Authentication_Jersey_Token - Fatal编程技术网

Angularjs RESTful令牌认证澄清

Angularjs RESTful令牌认证澄清,angularjs,rest,authentication,jersey,token,Angularjs,Rest,Authentication,Jersey,Token,我已经阅读了几乎所有关于SO的答案和一些博客帖子,但我想不出一件简单的事情。在服务器生成令牌并在验证凭据后将其发送回用户的简单令牌身份验证方案中,客户端如何在每个请求中存储并重新发送该令牌?我已经看到了cookie示例和header示例。如果可能的话,我希望使用HTTP头,但我无法理解如何将令牌发送到客户端(它将位于那里),然后在请求REST资源时将其发送回头中 我正在使用前端带有AngularJS的Jersey/Guice。以下是我开始使用的资源: 例如,如果您使用的是Javascript,

我已经阅读了几乎所有关于SO的答案和一些博客帖子,但我想不出一件简单的事情。在服务器生成令牌并在验证凭据后将其发送回用户的简单令牌身份验证方案中,客户端如何在每个请求中存储并重新发送该令牌?我已经看到了cookie示例和header示例。如果可能的话,我希望使用HTTP头,但我无法理解如何将令牌发送到客户端(它将位于那里),然后在请求REST资源时将其发送回头中

我正在使用前端带有AngularJS的Jersey/Guice。以下是我开始使用的资源:


例如,如果您使用的是Javascript,您可以将令牌存储在客户端的localstorage like window.localstorage[“token\u id”]中。

这取决于您的需要。如果适合您,您可以使用HTTP basic或摘要身份验证。如果不需要,那么如果不需要永久存储,可以将凭据存储在内存中。如果您需要一个永久性存储,那么您可以将它们存储在localstorage或任何其他客户端存储中,但要知道它们确实存在


无论如何,我认为如果你的客户机或服务被xss以某种方式破坏了,那么你就输了,不管你还做了什么。否则,只要使用具有正确设置的HTTPS,就可以安全地以纯文本形式发送凭据。(但这只是一种观点,我不是安全专家,至少在本主题中不是。)因此我认为您应该集中精力避免xss易受攻击。例如,您应该使用和过滤js注入(以及firefox数据URI注入)的输入。并尽可能在客户端中使用TextNode而不是innerHTML。

然后,您会手动将令牌写入每个请求的标头中吗?(或者使用某种AngularJS拦截器?)