如何将jwt令牌从会话存储保存到变量?

时间:2017-12-06 09:25:57

标签: angular jwt session-storage

我进行了jwt授权,并将该令牌存储到会话存储中,但是当我尝试将该令牌转换为字符串并记录它时,我得到null,这就是函数

login(user : User): void
  {
    this.header= new Headers({"content-Type": "application/json"});
    this.osobaService.create(user,this.tokenUrl,this.header).then(p=> {sessionStorage.setItem("Token",p._body.slice(1,-1))});
    this.tokenString = sessionStorage.getItem("Token");
    console.log(this.tokenString);
  }

它应该是简单的getItem方法,但我得到了null。

1 个答案:

答案 0 :(得分:3)

' this.osobaService.create'是一个异步函数。在编写之前,您正尝试记录一个值。如果您更改此代码,则应记录正确的值。

login(user : User): void
  {
    this.header= new Headers({"content-Type": "application/json"});
    this.osobaService.create(user,this.tokenUrl,this.header)
        .then(p=> {
             sessionStorage.setItem("Token",p._body.slice(1,-1))
             this.tokenString = sessionStorage.getItem("Token");
             console.log(this.tokenString);
        });
  }