[英]Angular basic authentication and token
我疯狂地了解如何使用API处理基本身份验证。
基本上,我需要做的是从发送模块用户名和模块密码(而不是用户登录名)的API请求令牌。 服务器应返回一个令牌,该令牌将用于我对服务器发出的所有其他请求。
在互联网上,我发现了涉及用户登录和角度路由的解决方案。 我没有使用任何路由,路由是在服务器端管理的,我需要在几个页面上使用API,然后才需要在每个请求上附加令牌。
我不完全了解如何正确启动。
我应该为首次身份验证创建一个ajax请求,将令牌保存在某处并将其用于所有其他请求。 请记住,如果令牌无效,则应再次请求。
我对如何做非常困惑,我找不到任何好的教程。
有什么帮助吗?
我仍在学习Angular,但希望这个基本示例对您有所帮助。 您可以使用$ cookies保存和检索从服务器发送回的令牌。 然后,假设您使用的是$ http或$ resource,则可以使用$ httpProvider拦截器将当前令牌值(从$ cookies中检索)添加到应用程序发出的每个发出请求的标头中。
这是一个简单的示例,说明如何创建$ httpProvider拦截器:
authServices.factory('sendTokenInHeader', ['$cookies', function($cookies) {
return {
request: function(config) {
var token = $cookies.getObject('x-my-token');
if(token) {
var updateHeaders = config.headers || {};
updateHeaders['x-my-token'] = token;
config.headers = updateHeaders;
}
return config;
}
};
}]);
然后在您的app.config中,您只需推动此拦截器,现在任何传出的$ http / $ resource请求都将包含当前令牌!
myApp.config(['$httpProvider', function($httpProvider) {
// do other stuff...
$httpProvider.interceptors.push('sendTokenInHeaders');
}]);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.