2014-06-06 1 views
0

J'ai 2 numéros en utilisant http-auth-interceptor. Laissez parler de la première.http-auth-interceptor n'est pas les paramètres les en-têtes correctement

  • Lorsque l'API de retour 401 (pour la première fois), l'application est attrapant le cas event:auth-loginRequired dans un présent directive dans le index.html et afficher le modal afin que l'utilisateur peut se connecter. Ensuite, lors de la réussite de l'authentification, le script de connexion appelle authService.loginConfirmed(user, httpConfigCallback()). Dans le rappel, je définis 2 en-têtes HTTP afin de mettre à jour le jeton de l'API. Le problème est que je ne peux pas voir le jeu d'en-tête lorsque la demande initiale est retirée. Voici mon code:

    $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; 
    }); 
    

Mais l'en-tête n'est pas défini:

enter image description here

  • La deuxième question que j'ai est que la demande dequeued retourne un 401, mais le La directive ne l'attrape plus et n'affiche donc pas l'écran de connexion.

Répondre

2

Il fonctionne bien. La capture d'écran d'en-tête de requête était celle de la demande OPTIONS. Il a été refusé par mon serveur car je n'ai pas autorisé mes en-têtes supplémentaires. J'ai ajouté ceci:

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

Maintenant tout fonctionne bien. Merci

0

Je suggère d'utiliser des intercepteurs angulaires pour définir vos en-têtes de configuration.

Aa exemple: UserAuthInterceptor

+0

Je l'utilise déjà via 'http-auth-interceptor' – maxwell2022

Questions connexes