【问题标题】:http-auth-interceptor is not settings the headers correctlyhttp-auth-interceptor 未正确设置标头
【发布时间】:2014-07-27 11:24:20
【问题描述】:

我在使用 http-auth-interceptor 时遇到了 2 个问题。先说第一个吧。

  • 当 API 返回 401(第一次)时,应用程序在 index.html 中的指令中捕获事件 event:auth-loginRequired 并显示模式以便用户可以登录。然后在认证成功时,登录脚本调用authService.loginConfirmed(user, httpConfigCallback())。在回调中,我设置了 2 个 HTTP 标头以更新 API 令牌。问题是当初始请求出队时我看不到标头集。这是我的代码:

    $scope.user = UserAuthService.getUser();
    
    // User is now auth, we confirm it
    authService.loginConfirmed($scope.user, function(config){
        config.headers["API_USER"] = $scope.user.guid;
        config.headers['API_TOKEN'] = $scope.user.api_token;
        return config;
    });
    

但是头部没有设置:

  • 我遇到的第二个问题是出队请求返回 401,但指令不再捕获它,因此它不显示登录屏幕。

【问题讨论】:

    标签: angularjs angular-http-interceptors


    【解决方案1】:

    它运作良好。请求标头屏幕截图来自OPTIONS 请求。我的服务器拒绝了它,因为我不允许我的附加标头。我已经添加了这个:

    $response->headers->set('Access-Control-Allow-Headers', "Origin,X-Requested-With,Content-Type,Accept,API_USER,API_TOKEN");
    

    现在一切正常。 谢谢

    【讨论】:

      【解决方案2】:

      我建议使用 Angular 拦截器来设置您的配置标头。

      例如:UserAuthInterceptor

      【讨论】:

        猜你喜欢
        • 2020-05-15
        • 2021-07-18
        • 1970-01-01
        • 1970-01-01
        • 2016-06-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-04-17
        相关资源
        最近更新 更多