繁体   English   中英

Angular Jhipster-如何在所有http请求中发送x-csrf令牌?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM