Laravel 13 + Filament 5 admin panel and REST API for a non-profit developer collective, backed by the Pireon OAuth identity server. The public site is a separate, server-rendered application consuming /api/public/v1. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
27 lines
698 B
PHP
27 lines
698 B
PHP
<?php
|
|
|
|
declare(strict_types=1);
|
|
|
|
namespace App\Http\Controllers\Api\V1;
|
|
|
|
use App\Http\Controllers\Controller;
|
|
use App\Http\Resources\UserResource;
|
|
use Illuminate\Http\Request;
|
|
|
|
/**
|
|
* GET /api/v1/me — who the bearer token belongs to, and what they may do here.
|
|
*
|
|
* The identity part mirrors the OAuth server's /api/user. The `permissions`
|
|
* array is this application's own answer, and is what a client should drive its
|
|
* UI from: the identity server does not know about local roles.
|
|
*/
|
|
class MeController extends Controller
|
|
{
|
|
public function __invoke(Request $request): UserResource
|
|
{
|
|
return UserResource::make(
|
|
$request->user()->load('roles')
|
|
);
|
|
}
|
|
}
|