Initial commit: OAuth IAM Laravel application
Laravel-based OAuth/IAM service with Passport, Vue 3 frontend, and Docker Compose setup for local and production deployment. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
55
app/Http/Controllers/Controller.php
Normal file
55
app/Http/Controllers/Controller.php
Normal file
@@ -0,0 +1,55 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers;
|
||||
|
||||
use OpenApi\Attributes as OA;
|
||||
|
||||
#[OA\Info(
|
||||
version: '1.0.0',
|
||||
title: 'OAuth2 Identity Server API',
|
||||
description: 'Servidor de identidad/OAuth2 (Laravel Passport) para que aplicaciones de terceros se autentiquen y gestionen usuarios. Pensada para ser consumida por aplicaciones cliente de terceros (Angular, Flutter, NestJS, etc.) que quieran construir su propio panel sin depender de la sesión de Laravel.'
|
||||
)]
|
||||
#[OA\Server(url: '/api', description: 'API base URL')]
|
||||
#[OA\SecurityScheme(
|
||||
securityScheme: 'oauth2',
|
||||
type: 'oauth2',
|
||||
description: 'Servidor de autorización OAuth2 (Laravel Passport). Soporta Authorization Code + PKCE, Client Credentials y Password Grant.',
|
||||
flows: [
|
||||
new OA\Flow(
|
||||
flow: 'authorizationCode',
|
||||
authorizationUrl: '/oauth/authorize',
|
||||
tokenUrl: '/oauth/token',
|
||||
refreshUrl: '/oauth/token',
|
||||
scopes: [
|
||||
'users:read' => 'Leer usuarios',
|
||||
'users:write' => 'Crear, editar y borrar usuarios',
|
||||
'account:read' => 'Leer tus clientes OAuth, tokens y apps autorizadas',
|
||||
'account:write' => 'Gestionar tus clientes OAuth, tokens y apps autorizadas',
|
||||
]
|
||||
),
|
||||
new OA\Flow(
|
||||
flow: 'clientCredentials',
|
||||
tokenUrl: '/oauth/token',
|
||||
scopes: [
|
||||
'users:read' => 'Leer usuarios',
|
||||
'users:write' => 'Crear, editar y borrar usuarios',
|
||||
'account:read' => 'Leer tus clientes OAuth, tokens y apps autorizadas',
|
||||
'account:write' => 'Gestionar tus clientes OAuth, tokens y apps autorizadas',
|
||||
]
|
||||
),
|
||||
new OA\Flow(
|
||||
flow: 'password',
|
||||
tokenUrl: '/oauth/token',
|
||||
scopes: [
|
||||
'users:read' => 'Leer usuarios',
|
||||
'users:write' => 'Crear, editar y borrar usuarios',
|
||||
'account:read' => 'Leer tus clientes OAuth, tokens y apps autorizadas',
|
||||
'account:write' => 'Gestionar tus clientes OAuth, tokens y apps autorizadas',
|
||||
]
|
||||
),
|
||||
]
|
||||
)]
|
||||
abstract class Controller
|
||||
{
|
||||
//
|
||||
}
|
||||
Reference in New Issue
Block a user