[英]Angular Jhipster - How to send x-csrf token in all http requests?
我从赶时髦的人生成器生成一个应用,并创建一个新工厂来调用我的服务。
标头中使用x-csrf令牌调用所有现有服务,但是当我尝试通过工厂进行Get或Post操作时,出现de error 401 , 未经授权
在我的应用程序配置中,我有这个:
//enable CSRF
$httpProvider.defaults.xsrfCookieName = 'CSRF-TOKEN';
$httpProvider.defaults.xsrfHeaderName = 'X-CSRF-TOKEN';
这是我的工厂:
angular.module('jhipsterApp')
.factory('WalletsService', function ($http) {
return {
findAll: function () {
return $http.get('api/walletslist/').then(function (response) {
return response.data;
});
}
};
});
当我执行findAll函数时,出现此错误:
[Error] Failed to load resource: the server responded with a status of 401 (Unauthorized) (walletslist, line 0)
x-csrf保存在cookie中,但是我如何在标题中传递它?
谢谢
查看SecurityConfiguration,/ api / **需要身份验证,因此您的端点也需要身份验证。 这不是CSRF的问题,只是您必须登录。
如果api / walletlist必须是公共的,则必须在SecurityConfiguration中执行此操作
.antMatchers("/api/walletslist").permitAll()
警告 :订购很重要,并确保您的授权URL与您的角度服务和REST控制器请求映射匹配。 容易忘记一个地方的最后一个斜杠字符。
为什么要使用$ http,为什么不像其他JHipster服务那样使用$ resource?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.