{"错误":"未经身份验证。"} Laravel 5.3个人访问令牌

时间:2017-07-11 11:14:17

标签: php laravel laravel-passport

错误仅在使用个人访问令牌时发生,如果我使用密码客户端获取令牌,那么它就会很好。

这是我用来测试它正在经历的路线

Route::get('/test', function() {
    return "hello";
})->middleware('auth:api');

这是我用来获取访问令牌的功能

public function testToken() {
    $user = User::where("id", 12)->first();

    $token = $user->createToken("TokenName")->accessToken;

    return $token;
}

这是我尝试使用的访问令牌(来自testToken()的那个)

eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImp0aSI6IjNlNTliODI1ZWVlZTYzZjRkMjYxZTliMDRiZTdlOGM2OTE2OGIxODIzOWVhZDQ3YjkwODY0ZGQxODU2ZmZkYjc1NmNiNzE2NTRjOGQ1N2U0In0.eyJhdWQiOiI1IiwianRpIjoiM2U1OWI4MjVlZWVlNjNmNGQyNjFlOWIwNGJlN2U4YzY5MTY4YjE4MjM5ZWFkNDdiOTA4NjRkZDE4NTZmZmRiNzU2Y2I3MTY1NGM4ZDU3ZTQiLCJpYXQiOjE0OTk3NzA4ODgsIm5iZiI6MTQ5OTc3MDg4OCwiZXhwIjoxODE1MzAzNjg4LCJzdWIiOiIxMiIsInNjb3BlcyI6W119.TkAanA7Un5Z4BHYVm1tBUtzQXDNl_z26fHcbzC-wNC-7zHg3GCqnWicgKxZsuE5_1zuDikqZj6tKKkRou5K2ftA9A6l3wBMxmyQZy-BZl20CbzyovYw5kfFwOdJYNKeAF5g0jBVXJdFCDvHexiQGrfzoj9b95v9jRNfdDbhrJd-1wHMQpIps7qjn3rtVIupwc2HpajJ4hADgZUCGjcV8YpOpWoaTt8lZocJUlUTbeNE0AwdI_c9tSA48qaSZizOIb1DYLSLZjeqKvRJFHvplAhTQN9glbF598Nws0FqkvnEWk-3nXL8EejJ155EAyNwKkDnc3e6W23JqjdGzXiHsTRmVDdizLrkk86Z-24oj2KJwcdPYMGkcnggqIZ8hn7ikGSoTV73G_nW_VUBOidHzcYKgMgXPQGST2gC3yPgAnQJPmXBUyc98hMz4LbDNkXKYcsMp23kUxC1caO3JYE4LljVLaQaxdhqZlaTBcaus5HtcRYrYMmZhgxaXpy-VOM2fljBW-QgM1rs8D9GwBuxecBmgPvbN6HqnYTlYRwmxbfOtKoeT7H5aK3_a36at1dL1V3K0S176v91ZGfWoxlYLzq_uWxpq_T9SOkaoxjeMfYiVjJyXMDsTbmE7PrQQcEwKNVc9DdcQgJmewd-Sr15O66inhH8j7-4_WPysxS6SXBY

我将标记传递到标题中(注意我使用邮递员进行测试)

Accept:application/json
Authorization:Bearer **TOKEN**

做一些谷歌搜索我发现人们通过设置令牌的过期日期来修复它,虽然这在我的情况下不起作用。

我还发现人们建议在提供商中更改Passport.php,但我没有这个文件可以编辑......我不知道是不是因为我安装了错误的护照或类似的东西。我确实按照安装文档进行了

1 个答案:

答案 0 :(得分:0)

我相信您会仔细阅读该文件,问题将得到解决。 https://laravel.com/docs/5.4/passport#installation https://laravel.com/docs/5.4/passport#personal-access-tokens

此路线会创建新的个人访问令牌。它需要两个数据:令牌的名称和应分配给令牌的范围:

const data = {
    name: 'Token Name',
    scopes: []
};

axios.post('/oauth/personal-access-tokens', data)
    .then(response => {
        console.log(response.data.accessToken);
    })
    .catch (response => {
        // List errors on response...
    });