从请求标头或响应标头获取jwt令牌

时间:2020-07-26 19:04:24

标签: javascript angular jwt

我正在寻找有关请求标头和响应标头的启示。

以下摘自一些Google文章

请求标头包含有关要获取的资源或有关请求资源的客户端的更多信息。响应标头包含有关响应的其他信息,例如响应的位置或提供响应的服务器。

我正在尝试从已登录的用户获取承载令牌。我需要newBearer中的令牌。它具有所有信息,但是我的问题是Request标头具有Authorization Bearer,而响应标头具有Authorization:New Bearer。哪一个是正确的?

您可以使用newBeaer令牌吗?导致我在使用以下代码时收到很多投诉。

当我刚刚获得授权时,它运行正常。

import { Injectable } from '@angular/core';
@Injectable()
export class TokenInterceptorService implements HttpInterceptor {
   intercept(req: HttpRequest<any>, next: HttpHandler):   Observable<HttpEvent<any>> {

      let token = req.headers.get('Authorization');
      let parsedToken = token.slice(7) /// which gives me my long token
      localStorgae.setItem('token', parsedToken ) /// set in storage to decode later on 
      return next.handle(req);
   }
}

Should I be taking the token from the response or request headers?

1 个答案:

答案 0 :(得分:0)

JWT就是这样

您将登录请求发送到服务器。服务器发送带有jwt令牌的JSON响应。客户端获取jwt令牌,并为下一个需要授权的请求设置标头。

然后,设置带有授权承载的标头,将其发送到服务器,然后服务器检查授权,并为下一个请求使用新的jwt令牌进行响应。

这很简单,但是缺少有关客户端的信息。