Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/security/4.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/5/spring-mvc/2.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
Security AngularJS SSO安全性?_Security_Spring Mvc_Angularjs_Single Sign On_Token - Fatal编程技术网

Security AngularJS SSO安全性?

Security AngularJS SSO安全性?,security,spring-mvc,angularjs,single-sign-on,token,Security,Spring Mvc,Angularjs,Single Sign On,Token,我们得到了一个角度的应用程序,我们得到了另一个Spring应用程序。登录由Spring管理,当用户登录时,Spring将重定向到Angular应用程序。当Spring重定向时,它会将身份验证令牌放入报头 如何使用AngularJS获取该标记?因为AngularJS是javascript,所以您可以在HTML中的某个地方回显该标记。这是对angularApp的一次性重定向。这是我自己做的 要从Angular将http调用发送回Spring应用程序,我相信您也必须在头中发送该令牌(例如X-toke

我们得到了一个角度的应用程序,我们得到了另一个Spring应用程序。登录由Spring管理,当用户登录时,Spring将重定向到Angular应用程序。当Spring重定向时,它会将身份验证令牌放入报头


如何使用AngularJS获取该标记?

因为AngularJS是javascript,所以您可以在HTML中的某个地方回显该标记。这是对angularApp的一次性重定向。这是我自己做的

要从Angular将http调用发送回Spring应用程序,我相信您也必须在头中发送该令牌(例如X-token),这可以像

window.ngApp = angular.module('ngApp',[]);

ngApp.config(["$httpProvider", function(provider) {     
      provider.defaults.headers.common['X-Token'] = $('meta[name=csrf-token]').attr('content');
}]);

因此,每次发出http请求时,X-Token都将成为您请求的一部分

因为AngularJS是javascript,所以您可以在HTML的某个地方回显该标记。这是对angularApp的一次性重定向。这是我自己做的

要从Angular将http调用发送回Spring应用程序,我相信您也必须在头中发送该令牌(例如X-token),这可以像

window.ngApp = angular.module('ngApp',[]);

ngApp.config(["$httpProvider", function(provider) {     
      provider.defaults.headers.common['X-Token'] = $('meta[name=csrf-token]').attr('content');
}]);

因此,每次发出http请求时,X-Token都将成为您请求的一部分

可以,但此令牌不是csrf令牌,而是身份验证令牌。然后在HTML中回显这个令牌,就像回显用户密码一样。。。我不确定它是否真的安全。你看到了吗?我用饼干做的:)!服务器发送一个cookie,我在客户端得到它,它就像一个符咒!ThxIn我的案例需要CSRF令牌作为交叉签名,API调用也需要API密钥。但身份验证令牌不是加密的吗?如果javascript可以读取cookie,这难道不就像在html中重复那样吗?我的意思是人们会在inspector中看到cookie,对吧?当然令牌是镶嵌的。但是auth令牌和csrf令牌是不同的,将csrf令牌放在meta标记中是一个很好的实践,但是对于auth令牌,将其放在cookie中是正确的方式。但我认为这只是“风格”的标准。但我同意你的答案,因为它有效,如果没有它,我会花时间寻找解决方案。ThxI知道它们是不同的:)你用Cookies做这个是对的。在我的应用程序中,我从前端处理身份验证。这是因为当您的服务器会话被破坏时,您不希望将用户重定向到spring页面,而是希望从Angular应用程序处理它,如果可能的话,不中断当前URL(通过模式或其他方式)。无论如何,谢谢你接受这个答案。快乐编码!可以,但此令牌不是csrf令牌,而是身份验证令牌。然后在HTML中回显这个令牌,就像回显用户密码一样。。。我不确定它是否真的安全。你看到了吗?我用饼干做的:)!服务器发送一个cookie,我在客户端得到它,它就像一个符咒!ThxIn我的案例需要CSRF令牌作为交叉签名,API调用也需要API密钥。但身份验证令牌不是加密的吗?如果javascript可以读取cookie,这难道不就像在html中重复那样吗?我的意思是人们会在inspector中看到cookie,对吧?当然令牌是镶嵌的。但是auth令牌和csrf令牌是不同的,将csrf令牌放在meta标记中是一个很好的实践,但是对于auth令牌,将其放在cookie中是正确的方式。但我认为这只是“风格”的标准。但我同意你的答案,因为它有效,如果没有它,我会花时间寻找解决方案。ThxI知道它们是不同的:)你用Cookies做这个是对的。在我的应用程序中,我从前端处理身份验证。这是因为当您的服务器会话被破坏时,您不希望将用户重定向到spring页面,而是希望从Angular应用程序处理它,如果可能的话,不中断当前URL(通过模式或其他方式)。无论如何,谢谢你接受这个答案。快乐编码!