5

私はlaravelで遊んでいて、クライアント資格情報の付与を有効にして、いくつかのAPIエンドポイントを保護しようとしています。

いくつかのコンテキストを提供するには: データベースといくつかの Web サイト (および SPA) の間に立つ API を作成したいと考えています。したがって、いくつかの監視(どのWebサイト/ SPAがどのリソースを呼び出すか)を実行し、一般にセキュリティを追加できます。したがって、追加のユーザー情報が必要ないこの場合、マシン間通信のためのクライアント資格情報の付与が最善の方法です。

これらの許可タイプを実装するために誰かのチュートリアル (例:このチュートリアル) に従いましたが、行き詰まりました...

私は次のことをしました:

  • パスポートをロード:composer require laravel/passport
  • サービス プロバイダを に追加config/app.php:Laravel\Passport\PassportServiceProvider::class,
  • 移行:php artisan migrate
  • インストール:php artisan passport:install
  • HasApiTokensに追加App\User.php
  • Passport::routes()に追加app/Providers/AuthServiceProvider.php
  • 最後に、認証ガードのドライバーオプションをpassportin に設定しますconfig/auth.php

ここまでは順調ですね。次に、次のサンプル クライアントを作成しましたphp artisan passport:client

New client created successfully.
Client ID: 3
Client secret: S5s9oEIRm5DNy5ySsr1H6jWlraOCZyF24gcpoDrJ

postman を使用してこのクライアントのトークンを取得したい場合 (ここでbody.formdata提供されているものに追加) postman: oauth/token を呼び出す

次のエラーが表示されます。

{
    "error": "unsupported_grant_type",
    "error_description": "The authorization grant type is not supported by the authorization server.",
    "hint": "Check that all required parameters have been provided",
    "message": "The authorization grant type is not supported by the authorization server."
}

何か不足していますか?grant type?を登録するために必要なすべての手順を実行したと思います。

前もって感謝します!!

4

2 に答える 2