Angular 角度身份验证服务-基于令牌
在myAngular 角度身份验证服务-基于令牌,angular,api,authentication,web,token,Angular,Api,Authentication,Web,Token,在myAuthenticationService中,我有: @Injectable() 导出类身份验证服务{ 构造函数(私有http:HttpClient){} 登录(用户名:string,密码:string){ 返回this.http.post (`${environment.apiUrl}/token`,“grant_type=password&username=“+username+”&password=“+password”).pipe(映射(用户=>{ //如果响应中有jwt令牌,则登
AuthenticationService
中,我有:
@Injectable()
导出类身份验证服务{
构造函数(私有http:HttpClient){}
登录(用户名:string,密码:string){
返回this.http.post
(`${environment.apiUrl}/token`,“grant_type=password&username=“+username+”&password=“+password”).pipe(映射(用户=>{
//如果响应中有jwt令牌,则登录成功
if(user&&user.token){
//将用户详细信息和jwt令牌存储在本地存储中,以便在页面刷新之间保持用户登录
localStorage.setItem('currentUser',JSON.stringify(user));
}
返回用户;
}));
}
在if(user&&user.token)
..user.token
中,返回undefined
,然后不创建currentUser
localStorage
如果我只写:If(user)
…它工作并生成如下的访问令牌:
access_token:"eiGcvwEa0SsL0xml2Y5BcnR5W1g-vTniUB96YPFsnWe7AwG-pEmtLaOf1nurnYOFFJ-qpax5QceWD9qkEtXJIWU91DFvDwEOrrRqIrb1-gBFnspTk6dE6YjIXpZqkcA1JHWJezQx0dfqBINhZ08qocfIrqK0IqqOvguRh9-PUJCPRMg4JaYh3CJGAZVqbFi8WiO4OwRwrBVqXXGWSHqoCUgHxWDYolCZE7axCLDdbTcbCz2IluemsA0kdmvyQ2laub3iELFN-5m7dAvpCYtFvHjt2qkYijH_v2E3uV5dux5e_txj4XSTzoT8kikoCn7I"
expires_in:59
refresh_token:"c723ec64-c90e-482d-8292-390214d5324b"
token_type:"bearer"
我需要从
用户处获取令牌。令牌
但我不知道我错在哪里。您确定用户
对象具有属性令牌
?(尝试将用户
记录到控制台)
可能您正在查找的属性是
access\u-token
,因为该属性是access\u-token
而不是token
。请尝试if(user&&user.access\u-token)
,因为该属性是access\u-token
而不是token
。尝试if(user&&user.access\u-token)
非常简单。非常感谢!!我会将其作为答案发布,以便您选择