2016-10-04 6 views
2

Я пытаюсь создать успокоительный api с использованием токена для аутентификации с использованием laravel 5.3. Я также добавил паспорт laravel, и я подумал, что это поможет мне быстрее построить api. Ресурс, который я хотел бы предоставить через api, является общим для всех пользователей, ничего конкретного для пользователя. Поэтому я должен использовать тип типа: учетные данные клиента. Я не мог найти никакой помощи по этому типу гранта в документации laravel.Как включить тип предоставления учетных данных клиента в паспорте laravel

https://github.com/laravel/passport/pull/34/files Эта ссылка показывает, что тип гранта клиента добавляется в паспорт laravel. но когда я пытаюсь предоставить тип гранта в качестве клиентского удостоверения

$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

Я думаю, что я должен пойти с типом предоставления пароля. –

+0

Я создал клиента с использованием пароля и отредактировал столбец таблицы базы данных password_client, изменил 1 -> 0 и вернул токен api. как создать пароль? есть только опция, использующая команду php artsan –

ответ

1

При установке Laravel Passport грант один пароль установленный по умолчанию в oath_clients таблице, но password_client колонка должна быть 1 не равно 0.
Тогда вы посылаете some form_data в /oauth/token URL и получить access_token взамен.

+0

. Только способ создания пароля - это php artisan паспорт: client -password. Я хочу создать клиентов паролей с админкой. Я думаю, что больше документов и кодов будет добавлено в следующем обновлении паспорта, полностью реализующем все четыре гранта. –

2

Я использовал метод учетных данных клиента, потому что это был аппарат для машинного вызова. Я получил ошибку, например {"error": "Unauthenticated." } `при использовании почтальона. Я использовал типы доступа и заголовки авторизации, но получал ту же ошибку. Затем я googled и попробовал метод, объясненный в ссылке ниже. Это сработало. :) :) http://filljoyner.com/2017/03/01/how-to-use-client-credentials-grant-tokens-for-your-api-authorization-with-laravel-5-4s-passport/

+0

Вы должны использовать комментарий для предложений этого типа. если вы отвечаете, пожалуйста, объясните. –

Смежные вопросы