编程语言
首页 > 编程语言> > php – Laravel – Passport API集成|错误:{“message”:“未经身份验证.”}

php – Laravel – Passport API集成|错误:{“message”:“未经身份验证.”}

作者:互联网

我是Laravel的新手.我刚开始使用this reference link学习Laravel护照集成.

下面是我的路线文件api.php

Route::post('login', 'API\PassportController@login'); // this is working fine
Route::post('register', 'API\PassportController@register'); // this is working fine
Route::group(['middleware' => 'auth:api'], function(){
   Route::post('get-details' , 'API\PassportController@getDetails'); // This is giving me error
});

PassportController.php>> getDetails()函数代码,

/**
 * details api
 *
 * @return \Illuminate\Http\Response
 */
public function getDetails()
{
    $user = Auth::user();
    return response()->json(['success' => $user], $this->successStatus);
}

配置/ auth.php

'guards' => [
    'web' => [
        'driver' => 'session',
        'provider' => 'users',
    ],

    'api' => [
        'driver' => 'passport',
        'provider' => 'users',
    ],
],

我更新了其余的文件,如in the article所述.

注册和登录API工作正常但是当我尝试运行/获取详细信息api时,我得到{“message”:“Unauthenticated.”}作为回应.

在标题中,我传递的值如下,
enter image description here

奇怪的是,相同的代码在我的本地主机服务器(OS-Windows)上工作正常,但是当我在我的托管服务器(OS-ubuntu)上运行此API时,它不起作用.

任何人都可以帮我解决这个问题吗?这与服务器配置设置有关吗?我甚至无法调试此代码来检查我做错了什么.

提前致谢!!

解决方法:

你在标题中传递了api令牌吗?
如果没有,首先你必须将登录详细信息传递给api并获取api令牌.然后将此令牌传递给您尝试访问的请求.
另一种可能性是你需要运行
如果您的环境从本地更改为live,则再次发送Passport install命令

标签:php,laravel-5,laravel-passport
来源: https://codeday.me/bug/20190701/1346923.html