我有以下代码来验证使用Ionic 2,angularjs和devise_token_auth的用户,但是如果成功登录,我会在响应的标头中收到访问令牌,而不是在json中。
authenticate(user) {
var creds = "email=" + user.name + "&password=" + user.password;
var headers = new Headers();
headers.append('Content-Type', 'application/x-www-form-urlencoded');
return new Promise(resolve => {
this.http.post('http://localhost:3000/auth/sign_in', creds, {headers: headers}).subscribe(data => {
if(data.json().data){
this.storeUserCredentials("MY TOKEN IN THE HEADER");
resolve(true);
}
else
resolve(false);
});
});
}
但我开始研究AngularJS和离子。我不知道在标题
中访问访问令牌答案 0 :(得分:1)
这是怎样的,我们可以从$ http响应中访问响应头。
$http.post('/api').then(function(response) {
//Accessing header
console.log(response.headers()['access-token']);
});
您的代码有点不同。你可以试试这个。
this.http.post('http://localhost:3000/auth/sign_in', creds, {headers: headers}).subscribe(data => {
if(data.json().data){
this.storeUserCredentials(data.json().headers()['access-token']);
resolve(true);
}
else
resolve(false);
});
答案 1 :(得分:1)
$scope.token=respone.headers('Authorization')
此行将从响应中返回令牌。