2017-09-19 1 views
0

Je suis nouveau sur LoopBack. J'ai utilisé l'authentification par défaut du serveur.Passer le jeton d'accès dans l'en-tête au lieu du bouclage d'URL

module.exports = function enableAuthentication(server) { 
    // enable authentication 
    server.enableAuth(); 
}; 

Après cela, je reçois un jeton d'accès de l'API de connexion.

Ensuite, je dois le passer dans tous les appel de service.

Existe-t-il un moyen/réglage en boucle qui nous permette de le passer en en-tête http au lieu d'url dans la requête http?

J'utilise angularjs. Mais il est facile de définir l'en-tête de tous les appels de service en utilisant ce $http.defaults.headers.common['Authorization'] = 'access_token'.

Mais si nous devons le passer en paramètre url, je dois l'écrire dans chaque appel de service.

Quelqu'un peut-il suggérer une façon de ensemble access_token dans url pour toutes param demandes de réglage angulaire ou rebouclage pour lui permettre de http tête. Réponse à dupliquer: Cette question était liée méthode (comment) passer le jeton dans l'en-tête dans l'appel http du côté angulaire.

+0

Est-ce ce que vous cherchez? https://stackoverflow.com/questions/30359463/how-do-i-use-the-access-token-in-loopback – titogeo

+0

Cela ne fonctionne pas si je mets access_token dans l'en-tête http –

+0

Copie possible de [Comment utiliser le jeton d'accès dans Loopback?] (https://stackoverflow.com/questions/30359463/how-do-i-use-the-access-token-in-loopback) –

Répondre

0

Vous pouvez demande Interceptor dans votre code angulaire, qui établira Authorization token dans l'en-tête de chaque demande HTTP.

Créez une fabrique pour injecter un jeton Auth dans l'en-tête.

module.factory('sessionInjector', function() { 
    var sessionInjector = { 
     request: function(config) { 
      config.headers['Authorization'] = 'Bearer '+Authtoken; 
      return config; 
     } 
    }; 
    return sessionInjector; 
}]); 

Utilisez config pour pousser sessionInjector à votre angulaire $HTTPProvider, de sorte qu'il intercepte toutes les requêtes HTTP et injecte jeton auth à lui.

module.config(['$httpProvider', function($httpProvider) { 
    $httpProvider.interceptors.push('sessionInjector'); 
}]); 

Lire this exemple pour savoir comment vous pouvez utiliser http interceptors pour injecter Auth token et d'autres choses utiles à vos requêtes HTTP. Loopback vous permet d'utiliser un en-tête Authorization par défaut.

+0

si j'utilise 'config.headers ['Authorization' ] = 'Porteur' + Authtoken; ', cela ne fonctionne pas avec le bouclage. comment puis-je ajouter un paramètre de requête à partir d'un intercepteur? –

+0

quel type de paramètre de requête voulez-vous ajouter? –

+0

Je veux ajouter access_token. –