Angularjs   发布时间:2022-04-20  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了AngularJS – 在登录时存储基本身份验证大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在用这个敲打墙 – 我对使用API​​相对较新,并且尚未做任何需要身份验证的事情.

我一直在向API发送POST请求.创建内容的端点是:

/entity/node

如果我发送以下内容,我可以发送成功的POST请求:

headers: {
       "Authorization": "Basic YWRtaW46MTIzcXdl",//admin:123qwe
   },

我遇到的问题是授权.我在这里指定Basic,然后是编码字符串,这是我的管理员登录.因此,当硬编码时,我可以发布.

我的问题 – 当用户正确登录时,我需要设置标题,以便将来所有的帖子请求都能正常工作.我怎么能在AngularJS中做到这一点?

我试过传递一个动态生成代码

"Authorization": "Basic " + auth,

其中auth是base64编码的用户:pass,但这不起作用.我的想法是,每当发出POST请求时,需要将此值存储在某处以便检索.但是怎么样?

一旦有了令牌,请调用方法
$httpProvider.defaults.transformrequest.push(function (data,headersGetter) {
    if (authToken !== null) {
        var headers = headersGetter();
        angular.extend(headers,'Authorization: basic ' + authToken);
    }

    return data;
});

编辑:
没有测试过,但它应该是这样的

@H_933_3@myApp.provider('authservice',function() { var authToken = null; this.$get = ['$httpProvider',function($httpProvider) { return { configure: configure,setAuthToken: setAuthToken } }; function configure() { $httpProvider.defaults.transformrequest.push(function (data,headersGetter) { if (authToken !== null) { var headers = headersGetter(); angular.extend(headers,'Authorization: basic ' + authToken); } return data; }); } function setAuthToken(token) { authToken = token; } });

然后将authservice注入您的app配置并调用authservice.configure()

大佬总结

以上是大佬教程为你收集整理的AngularJS – 在登录时存储基本身份验证全部内容,希望文章能够帮你解决AngularJS – 在登录时存储基本身份验证所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。