我正在尝试使用laravel 5.3使用令牌进行身份验证来开发一个restful api。我还添加了laravel护照,我认为它会帮助我更快地构建api。我想通过api提供的资源对所有用户都是通用的,对用户来说并不是特定的。所以我想应该使用grant类型:客户端凭据。我在laravel文档中找不到关于此授权类型的任何帮助
https://github.com/laravel/passport/pull/34/files此链接显示客户端凭据授予类型已添加到laravel passport。但是当我尝试将授权类型作为客户端凭证
时 $http = new \GuzzleHttp\Client;
$response = $http->post('http://site.dev/oauth/token', [
'form_params' => [
'grant_type' => 'client_credentials',
'client_id' => config('api.client_id'),
'client_secret' => config('api.client_secret'),
'redirect_uri' => config('api.redirect_uri'),
],
]);
它在使用的授权类型中给出错误。
答案 0 :(得分:2)
我使用的是客户端凭据方法,因为它是一台机器来电话。我得到了错误,如{"错误":"未经验证。"当使用邮递员时。我使用了Access类型和Authorization标头但是得到了同样的错误。然后我用Google搜索并尝试了下面链接中解释的方法。有效。 :) :) http://filljoyner.com/2017/03/01/how-to-use-client-credentials-grant-tokens-for-your-api-authorization-with-laravel-5-4s-passport/
答案 1 :(得分:1)
当您在oath_clients表中默认安装Laravel Passport一个密码授权时,但password_client列应为1而不是0.
然后您将some form_data发送到/oauth/token
网址并获取access_token
作为回报。