japostulo / middleware-passport
Pacote que disponibiliza um middleware para integrar com o laravel passport para instrospecção
v1.1.2
2022-12-28 09:05 UTC
Requires
- php: ^8.0.2
This package is auto-updated.
Last update: 2025-04-28 14:59:57 UTC
README
Requisitos
- Laravel >= 8.0
- API SSO com a implementação de dois endpoints
introspect
- Endpoint que devolverá as informações do usuário,authenticate
- Endpoint que apenas retornará um booleano (Exceções são tratadas)
Instalação Rápida
composer require japostulo/middleware-passport
Configuração
Dentro do arquivo .env é necessário adicionar a URI
do seu SSO
SSO_URL=http://localhost:8000
o plugin disponibiliza dois middlewares que podem ser utilizados para a introspecção do usuário ou apenas para autorizar acesso a endpoints autenticados.
É necessário registrar no arquivo app/Http/Kernel.php
, Ex:
protected $routeMiddleware = [ 'sso.client' => \Japostulo\MiddlewarePassport\Middlewares\ClientAuthenticate::class, 'sso.password' => \Japostulo\MiddlewarePassport\Middlewares\PasswordAuthenticate::class, ];
Se você necessita de acesso aos dados do usuário (
Auth::user()
ou$request->user()
) é necessário utilizar o middleware PasswordAuthenticate, a sua classeapp\Models\User.php
, será utilizada para retornar uma instância de new User via facade
Teste Rápido
routes/api.php
Route::middleware('sso.client')->get('/test-authenticated', function () { return response()->json("I'm authenticated"); }); Route::middleware('sso.password')->get('/test-introspect', function () { return response()->json(Auth::user()); });