如何从返回 axios 的响应对象访问 JWT 令牌值?

Posted

技术标签:

【中文标题】如何从返回 axios 的响应对象访问 JWT 令牌值?【英文标题】:How to access the JWT token value from a response object getting back in axios? 【发布时间】:2020-10-20 19:30:33 【问题描述】:

我正在开发一个 react JS - spring boot 应用程序,所以我使用 JWT + Spring Security 来保护其余端点。所以我开发了 spring boot 应用程序以在响应标头中返回如下所示的 JWT 令牌。现在我需要使用 react js 访问它。我怎样才能做到这一点?我正在使用 axios 从反应中调用端点。

这是我在使用 Spring Boot 登录端点时得到的示例响应。

【问题讨论】:

【参考方案1】:

您的问题是如何使用 axios 访问响应标头:

这是一个示例代码:

export const REST_API = axios.create(
  baseURL: 'http://localhost:8080/api',
  timeout: 10000,
  headers: 
    'Content-Type': 'application/json',
  ,
);

然后使用你的 axios 配置的客户端

  REST_API.post(`/authenticate`, 
                  username: 'admin',
                  password: 'admin',
                )
              )
              .then((res: AxiosResponse<any>) => 
              console.log(response.headers.Authorization);
              );

希望对你有帮助

【讨论】:

感谢您的回答,但我没有像邮递员那样在响应对象中获得授权值

以上是关于如何从返回 axios 的响应对象访问 JWT 令牌值?的主要内容,如果未能解决你的问题,请参考以下文章

前后端分离学习笔记 ---[跨域问题,JWT,路由守卫,Axios设置请求拦截和响应拦截]

前后端分离学习笔记 ---[跨域问题,JWT,路由守卫,Axios设置请求拦截和响应拦截]

如何从 Flask 返回不记名 JWT 令牌?

axios发布请求不返回响应错误

如何从 axios 响应对象中的所有项目中提取特定值到 vuex 状态

使用 JWT 访问 Rest API 适用于 Postman 但不适用于 Axios