如何在laravel passport中启用客户端凭据授予类型

时间:2016-10-04 09:54:38

标签: php laravel oauth-2.0 laravel-passport

我正在尝试使用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'),
     ],
    ]);

它在使用的授权类型中给出错误。

2 个答案:

答案 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作为回报。