/laravel7-sanctum-token-multiauth

Laravel SanctumのToken認証を利用してMulti Authを実現するサンプル

Primary LanguagePHP

📝 About

本リポジトリは、Laravel Sanctumのサンプル実装です。 APIトークンを利用した認証を考慮しつつ、Multi Authを実装しています。

※ セッション認証は別途調査する予定

📝 認証について

App/UserApp/Adminの複数Modelで、Sanctumを利用し認証します。
データについては事前にFactoryを利用し登録しています。

  • ログイン処理
  • ログインユーザーの取得

を中心に実装しています。

📝 APIリクエスト

URL 説明
/api/login UserログインAPI
/api/me ログインユーザー取得API
/admin/api/login AdminログインAPI
/admin/api/me ログイン管理ユーザー取得API

UserログインAPI

/api/login - UserログインAPI

curl --request POST \
  --url http://127.0.0.1:8000/api/login \
  --header 'accept: application/json' \
  --header 'content-type: application/json' \
  --data '{
	"email": "alf38@example.org",
	"password": "password"
}'

ログインユーザー取得API

/api/me - ログインユーザー取得API

curl --request GET \
  --url http://localhost:8000/api/me \
  --header 'accept: application/json' \
  --header 'authorization: Bearer 6|oW3GIXpw48kcfAc1FcqA4gm4zOBFfVgNVGdMCqIImFMzoaEmTqSY4fsOFNxXymPnXPFXU5mfMYg7pMI7'

AdminログインAPI

/admin/api/login - AdminログインAPI

curl --request POST \
  --url http://127.0.0.1:8000/admin/api/login \
  --header 'accept: application/json' \
  --header 'content-type: application/json' \
  --data '{
	"email": "stokes.edgardo@example.net",
	"password": "password"
}'

ログイン管理ユーザー取得API

/admin/api/me - ログイン管理ユーザー取得API

curl --request GET \
  --url http://127.0.0.1:8000/admin/api/me \
  --header 'accept: application/json' \
  --header 'authorization: Bearer 4|dbtGtsoXAyE7VH1yaIpvDsI3F2UqelBl2YkOI8j17xvqCgfU5k4kk9D37OhlBpTur2uJUcttwCGSFV1U'

Tools

License

The Laravel framework is open-sourced software licensed under the MIT license.