在 header 而不是 url 环回中传递访问令牌
Pass access token in header instead of url loopback
我是 LoopBack 的新手。我已经使用它的默认服务器身份验证。
module.exports = function enableAuthentication(server) {
// enable authentication
server.enableAuth();
};
在此之后我从登录 api 获取访问令牌。
然后我必须在所有服务调用中传递它 url。
环回中是否有任何 way/setting 允许我们在 http header 中传递它而不是在 http 请求中传递 url?
我正在使用 angularjs。使用此 $http.defaults.headers.common['Authorization'] = 'access_token'.
很容易为所有服务调用设置 header
但是如果我们必须在 url 参数中传递它,那么我必须在每个服务调用中都写它。
任何人都可以建议一种方法 在 url 参数 中为来自 angular 的所有请求设置 access_token 或环回设置以允许它进入http header.
重复的答案:这个问题是相关的方法(如何)在 header 中从 angular 端的 http 调用中传递令牌。
您可以在 Angular 代码中包含 request Interceptor,这将在每个 HTTP
的 Header 中设置 Authorization token
] 请求。
创建工厂以在 header.
中注入 Auth Token
module.factory('sessionInjector', function() {
var sessionInjector = {
request: function(config) {
config.headers['Authorization'] = 'Bearer '+Authtoken;
return config;
}
};
return sessionInjector;
}]);
使用 config
将 sessionInjector
推送到您的 Angular $HTTPProvider
,以便它拦截每个 HTTP 请求并向其注入身份验证令牌。
module.config(['$httpProvider', function($httpProvider) {
$httpProvider.interceptors.push('sessionInjector');
}]);
阅读 this 示例以了解如何使用 http interceptors
将 Auth token
和其他有用的东西注入到您的 HTTP 请求中。
Loopback 允许您默认使用 Authorization
header。参见:https://loopback.io/doc/en/lb3/Making-authenticated-requests.html#making-authenticated-requests-with-access-tokens
我是 LoopBack 的新手。我已经使用它的默认服务器身份验证。
module.exports = function enableAuthentication(server) {
// enable authentication
server.enableAuth();
};
在此之后我从登录 api 获取访问令牌。
然后我必须在所有服务调用中传递它 url。
环回中是否有任何 way/setting 允许我们在 http header 中传递它而不是在 http 请求中传递 url?
我正在使用 angularjs。使用此 $http.defaults.headers.common['Authorization'] = 'access_token'.
但是如果我们必须在 url 参数中传递它,那么我必须在每个服务调用中都写它。
任何人都可以建议一种方法 在 url 参数 中为来自 angular 的所有请求设置 access_token 或环回设置以允许它进入http header.
重复的答案:这个问题是相关的方法(如何)在 header 中从 angular 端的 http 调用中传递令牌。
您可以在 Angular 代码中包含 request Interceptor,这将在每个 HTTP
的 Header 中设置 Authorization token
] 请求。
创建工厂以在 header.
中注入 Auth Tokenmodule.factory('sessionInjector', function() {
var sessionInjector = {
request: function(config) {
config.headers['Authorization'] = 'Bearer '+Authtoken;
return config;
}
};
return sessionInjector;
}]);
使用 config
将 sessionInjector
推送到您的 Angular $HTTPProvider
,以便它拦截每个 HTTP 请求并向其注入身份验证令牌。
module.config(['$httpProvider', function($httpProvider) {
$httpProvider.interceptors.push('sessionInjector');
}]);
阅读 this 示例以了解如何使用 http interceptors
将 Auth token
和其他有用的东西注入到您的 HTTP 请求中。
Loopback 允许您默认使用 Authorization
header。参见:https://loopback.io/doc/en/lb3/Making-authenticated-requests.html#making-authenticated-requests-with-access-tokens