加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

angularjs – angular.js $resources设置授权标头

发布时间:2020-12-17 18:03:44 所属栏目:安全 来源:网络整理
导读:JS 我正在尝试做的是为服务器提供REST API REQUEST. 请求应为’GET’方法并包含’Authorization’标头. 我的工厂代码与REST服务器通信是这样的 ????‘使用严格’; angular.module('mabidualApp') .factory('User',function ($resource,config) { return $res
JS

我正在尝试做的是为服务器提供REST API REQUEST.

请求应为’GET’方法并包含’Authorization’标头.

我的工厂代码与REST服务器通信是这样的
????‘使用严格’;

angular.module('mabidualApp')
  .factory('User',function ($resource,config) {

    return $resource(config.API+':url/:id',{
        url: '@url',id: '@id'
    },{ //parameters default
      auth: {
        method: 'POST',params: {
            url: "token",}
    },get: {
        method: 'GET',headers:{'Authorization':'Bearer oLDMYrJD0Qg15Nhv7N-H6w'},params: {
          url:"users",id:'me'
        }
      }
});

最合适的问题在这里

headers:{'Authorization':'Bearer oLDMYrJD0Qg15Nhv7N-H6w'},

如果我添加标题,方法将更改为“OPTIONS”而不是“GET”.我发现它是关于CORS预检的东西,但我无法弄清楚如何禁用它..

所以我试着在app.js中更改我的配置

.config(function($locationProvider,$routeProvider,$httpProvider) {
    $httpProvider.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded;charset=utf-8';
    $httpProvider.defaults.headers.get['Authorization'] ='Bearer oLDMYrJD0Qg15Nhv7N-H6w';

第二个问题在这里

$httpProvider.defaults.headers.get['Authorization'] ='Bearer oLDMYrJD0Qg15Nhv7N-H6w';

它会出现以下错误.

Cannot set property 'Authorization' of undefined

是否有任何解决方案用“授权”标题发送”GET’请求?
谢谢

解决方法

我认为你在获取请求中以错误的方式使用params.尝试切换这样的参数和标题:

angular.module('mabidualApp')
  .factory('User',get_auth: {
        method: 'GET',id:'me'
        },headers: {'Authorization':'Bearer oLDMYrJD0Qg15Nhv7N-H6w'}
      }
});

我改变了你的自定义get请求,因为’get’可能已经由angular定义了,但我不确定:

$httpProvider.defaults.headers.get_auth['Authorization'] ='Bearer oLDMYrJD0Qg15Nhv7N-H6w';

此外,你确定你不需要任何其他标题吗?

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读