first commit

This commit is contained in:
envoyr committed 2025-04-27 04:02:46 +02:00
commit 05e8cca347
47 files changed
+2723

No files matched your search

+32
View File
@@ -0,0 +1,32 @@
<?php
namespace Anikeen\Id\Http\Middleware;
use Anikeen\Id\Exceptions\MissingScopeException;
use Closure;
use Illuminate\Auth\AuthenticationException;
use Illuminate\Http\Request;
use Illuminate\Http\Response;
class CheckScopes
{
/**
* Handle the incoming request.
*
* @throws AuthenticationException|MissingScopeException
*/
public function handle(Request $request, Closure $next, ...$scopes): Response
{
if (!$request->user() || !$request->user()->anikeenToken()) {
throw new AuthenticationException;
}
foreach ($scopes as $scope) {
if (!$request->user()->anikeenTokenCan($scope)) {
throw new MissingScopeException($scope);
}
}
return $next($request);
}
}