2016-09-22 2 views
1

Ionic 2、angularjs、devise_token_authを使用してユーザーを認証する次のコードがありますが、ログインに成功した場合、jsonではなく応答のヘッダーにアクセストークンを受け取ります。Angularjsを使用して応答ヘッダーにトークンにアクセスする方法は?

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

'response.access_token'にアクセスしようとしましたか?これは私のために働く。 –

答えて

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); 
     }); 
関連する問題