現在、LaravelでAPIを作成する方法を学んでいます。この混乱する概念に気づきました。数日間の研究と実践の後、この概念を十分に理解してミニを作成できました-ガイド:私は多くの別々のウェブページを調べなければならなかったので、それらの間の関係を説明するために最善を尽くします。
言い換えると:
何を使うべきですか?
初心者がLaravelと互換性のある独自のOauth2実装を作成するのはクレイジーでしょう。 Oauth2出力。つまり、3つのパッケージオプションがあります。 パスポート 、 tymondesigns/jwt-auth および Auth .
JWT(tymondesigns/jwt-authパッケージ)は、電子メールとパスワード認証のみを作成するのに適しています。ただし、基本的な電子メールとパスワードの認証にPassportを使用する場合、「Oauth2実装」がアプリのパフォーマンスに影響することを心配する必要はありません(それほど多くはありません)。違いは、威圧的な移行テーブルとルートがすべてPassportによって生成されるときですが、少し練習すれば、それらを理解できるようになります。 Auth0 seemsセットアップが高速になりますが、一部のユースケースでは、コミュニティLaravelパッケージで作業することの安全性を感じない以外に、誇張しすぎる場合があります。
実際の一致は、Auth0とPassportの間にあります。 Auth0は、パスポートと比較してスイスアーミーナイフです。すぐに使用できる非常に優れたダッシュボードがあり、APIのあらゆる側面を管理できます。サードパーティ認証から、そのAPIを使用できるアプリ(モバイル、ウェブ、デスクトップ)を追加します。パスポートは、より繊細なナイフと比較できます。特にLaravel向けに構築されており、長期的には独自のニースおよびカスタムダッシュボードを実装して、APIクライアントを管理できます。
結論
本当の選択はPassportとAuth0の間でなければならないと思います。 LaravelでAPIを構築するかどうかは、LaravelよりもAPIの世界に詳しくなるかどうかによって異なります。私の場合、Auth0よりもPassportを優先し、最後にJWTを優先します。その理由は次のとおりです。
最後の点についてはまだ話していますが、Auth0コミュニティは小さいと言う人もいます。基本的にそうです。しかし、それは素晴らしいクライアントサポート要員もいます。
PassportおよびOauth2のチュートリアル
LaravelとOauth2 Docsのトークンの説明は少し難しいかもしれません。 パスポートの(したがってOauth2)異なるタイプのトークンとそのユースケース の良い説明です。チュートリアルの「ルート」の部分がわからなかったので、チュートリアルの部分はお勧めしません。
これは Good Passport Video Tutorial で、API呼び出しにPostMan Chromeアプリも使用します。このAPIを初めて使用する方は、PostManなどのアプリを使用すると、「curl」Linux/Macコマンドを使用するよりも作業がはるかに簡単になります。シリーズ全体またはPassportの一部だけを見ることができます。現時点では、ビデオ4にこだわっています。 現在未解決 スタックオーバーフローの質問 。
リソース
リソースの多くはすべて記事の上部にありますが、ここにもいくつかあります。