0

我有 2 个使用http-auth-interceptor 的问题。先说第一个吧。

  • 当 API 返回 401(第一次)时,应用程序event:auth-loginRequired在 index.html 中的指令中捕获事件并显示模式以便用户可以登录。然后在身份验证成功时,登录脚本正在调用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,但指令不再捕获它,因此它不显示登录屏幕。
4

2 回答 2

2

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

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

现在一切正常。谢谢

于 2014-06-07T01:40:33.563 回答
0

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

一个例子:UserAuthInterceptor

于 2014-06-06T11:27:53.587 回答