(ReactJS-Laravel) JWT Authentication Header (获取用户信息)

Posted

技术标签:

【中文标题】(ReactJS-Laravel) JWT Authentication Header (获取用户信息)【英文标题】:(ReactJS-Laravel) JWT Authentication Header (Getting User Information) 【发布时间】:2019-03-08 04:35:32 【问题描述】:

我目前在登录页面,如何获取需要发送到header的token信息?糟糕的是我得到了错误(CORS)

无法加载http://127.0.0.1:8000/api/auth/me?token=:对预检请求的响应未通过访问控制检查:请求的资源上不存在“Access-Control-Allow-Origin”标头。 Origin 'http://localhost:8000' 因此不允许访问。

安装:我已经安装了 npm install cors --save

目标:如何获取邮箱、登录用户名

我已经将令牌存储到本地存储但是我不知道如何获取该令牌的持有者,我在这里有我的功能

componentDidMount()


    let token = localStorage.getItem("token");

    let url = 'http://127.0.0.1:8000/api/auth/me?token=';

    const headers = 
        'Accept': 'application/json',
        'Content-Type': 'application/json',
        'Authorization': 'Bearer ' + token 
    

    axios.post(url,headers:headers).
    then(response => 
        console.log(response);
    )





在我的邮递员中(我尝试观看 youtube,结果我的身体出现了这种情况)

 
        "id": 1,
        "name": "testuser",
        "role": 2,
        "email": "content@gmail.com",
        "created_at": "2018-05-23 15:28:47",
        "updated_at": "2018-05-23 15:28:47",
        "Status": "Active"
    

【问题讨论】:

【参考方案1】:

第一件事:在您的客户端使用 CORS 是一个不错的选择,但我建议使用 https://github.com/barryvdh/laravel-cors,因为您使用的是 Laravel,所以它可以节省您的时间并且易于配置。

第二件事:axios.defaults.headers.Authorization 是将 Bearer 添加到您的请求中的好方法。查看:https://github.com/axios/axios。

【讨论】:

以上是关于(ReactJS-Laravel) JWT Authentication Header (获取用户信息)的主要内容,如果未能解决你的问题,请参考以下文章

护照-jwt 401 未经授权

Token的生成和检验

JWT 发出相同的令牌

使用 Java 的 Auth0 JWT

如何在 React 中将 JWT 发送到后端?

开始在 node.js 中使用 JWT