tobibako45 / laravel-passport-practice

LaravelのLaravel-passportでログイン機能 + ブログの投稿機能を実装
0 stars 0 forks source link

Laravel-passportについて調べる #1

Open tobibako45 opened 4 years ago

tobibako45 commented 4 years ago

概要

LaravelにはLaravel-Passportという便利なツールがあるらしい
railsで言うDeviseみたいなものかな?
便利なら簡単なんだろう、きっと←

ログインしないとブログが投稿できないようにすればなおよし!!

とりあえず、最近よく耳にするからやってみることにした。 まだよくわかってないので調べる。

tobibako45 commented 4 years ago

この辺を参考に読んでみる。

Laravel Passportの使い方まとめ - Qiita

LaravelのPassportを使ってOAuth2の理解を深める - Qiita

tobibako45 commented 4 years ago

うーん、わからん。 とりあえず、php環境だな。 いろいろ大変なのでlocalで動かすか。 つらかったらDockerでやる。

tobibako45 commented 4 years ago

めんどうなので、sqliteでやることにする。 PCでphp環境作っててよかった。

tobibako45 commented 4 years ago
php artisan make:auth

できない。

Laravel6だと、やりかたが変わってるみたい

これ composer require laravel/ui

tobibako45 commented 4 years ago

Laravel-passportのことだけ考えてた。。。 ブログアプリにするのだったw

てか、Laravel-passportって、 railsのDeviseみたいなもんじゃないかも。。

もう少し調べる。。

tobibako45 commented 4 years ago

この辺とかいいかも。 Laravel PassportでWeb APIの認証を実装する【初期設定編】 | 大阪のシステム開発なら 株式会社ウィズテクノロジー

意外と簡単!Laravel Passportで自分の登録データを取得する – console dot log

tobibako45 commented 4 years ago

Laravel Passport(OAuth2)の仕組み:超簡略編

作業をはじめる前に、OAuth2を知らない人のために簡単に説明します。ご存知の方は次の項目まで読み飛ばしてください。

Laravel Password はOAuth2と呼ばれる認証方法を使っているのですが、なんせこのOAuthというのがややっこしいので、今回はエッセンスだけ理解できるように紹介します。(今回のトークンを取得するパターンです)

😊 あなた「データほしいから許可書ちょうだい!」 💻 サイト「あいよ」 😊 あなた「許可書ゲット!」 😊 あなた「この許可書で僕のデータちょうだい!」 💻 サイト「あいよ」 😊 あなた「データゲット!!!」

つまり、いったんトークンと呼ばれる許可書(通常ランダムな文字列)を取得してからそれを使って目的のデータを取得するという流れになります。

tobibako45 commented 4 years ago

Laravel Passportを

4 でインストールまでしたが、

まだどうつかうのかわからん。。

tobibako45 commented 4 years ago

とりあえず設定まではできたんで、どう使うか考える。

tobibako45 commented 4 years ago

Vue.jsでLaravel PassportのUIの実装すると...

ログインすると、こんなの出た

スクリーンショット 2019-12-06 15 39 36
tobibako45 commented 4 years ago

Parsonal Access Tokensを追加してみる

スクリーンショット 2019-12-06 15 41 10 スクリーンショット 2019-12-06 15 41 16 スクリーンショット 2019-12-06 15 41 25
tobibako45 commented 4 years ago

Personal Access Token

Laravel Passportの使い方まとめ - Qiita

Tokenの取得は/oauth/tokenにアクセスすればよいのですが、Personal Access Tokenの場合、取得するユーザーでログインしている必要があります。

とのこと

APIリクエスト先

/api/user

取得したTokenを利用して認証付きのAPIにリクエストする。 標準で/api/user という認証済みユーザーの情報を取得するAPIがあるのでそれをコール。

認証を通すためにはAuthorization: Bearer {token}をヘッダに添付して送る。 なお、LaravelにAPIからのリクエストであることを認識させるためAccept: application/jsonも添付。

curl -H 'Accept: application/json' -H 'Authorization: Bearer {token}' http://localhost:8000/api/user

Postmanで

スクリーンショット 2019-12-06 15 14 23
tobibako45 commented 4 years ago

Password Grant Token

Laravel Passportの使い方まとめ - Qiita

用途がよくわらん。調べる。

登録済みのIDとPasswordを送信し、認証後Tokenが発行される形式です。自社やパートナー企業との連携等が利用シナリオでしょうか。

とのこと。

リクエスト先

/oauth/token

必要な情報

ユーザーはフロントから予め登録済み

こんなデータ

{
    "client_id": 2,
    "client_secret": "yriLam7qgcxIBNJ9p2AxjkubssdJlwIJEFuEEcdd", 
    "username": "tobibako45@gmail.com",
    "password": 10111011,
    "grant_type": "password",
    "scope": ""
}
スクリーンショット 2019-12-06 11 38 12

正しくリクエストできていればアクセストークンとリフレッシュトークンが返される。

tobibako45 commented 4 years ago

Auth Code

Laravel Passportの使い方まとめ - Qiita

SNS認証では一番よく見るパターンです。 [xxxでログイン」に相当するコンテンツの作成(通常は外部サービス) この機能は通常、(Laraveで作ったサービスと)連携する外部サービスが起点になります。 [xxxxでログイン」という感じのやつです。個々ではそのボタンがクリックされた際を想定した動きを検証します。

とのこと。

tobibako45 commented 4 years ago

LaravelのSocialiteとPassportを使ってWeb APIの認証機能を実装した話 | エンジニアブログ

Laravel Socialite 5.6 Laravel

社交界のプロバイダー| GitHub

schedula / laravel-passport-socialite:laravelパスポートの欠落しているソーシャル認証プラグイン(SocialGrant)。

Laravel 5.3 で Passportを試す | ぴんくいろにっき