Files
oauth/app/Http/Controllers/OAuth/AuthorizedAppController.php
2026-07-27 17:20:02 +02:00

37 lines
941 B
PHP

<?php
namespace App\Http\Controllers\OAuth;
use App\Http\Controllers\Controller;
use App\Support\TokenRevocation;
use Illuminate\Http\Request;
class AuthorizedAppController extends Controller
{
/**
* List third-party apps (non first-party clients) the user has granted access to.
*/
public function index(Request $request)
{
$tokens = $request->user()->tokens()
->where('revoked', false)
->with('client')
->get()
->reject(fn ($token) => $token->client->revoked || $token->client->hasGrantType('personal_access'))
->values();
return response()->json($tokens);
}
public function destroy(Request $request, string $tokenId)
{
$token = $request->user()->tokens()->where('id', $tokenId)->first();
abort_unless($token, 404);
TokenRevocation::revoke($token);
return response()->noContent();
}
}