PersonalAccessTokenController.php 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. <?php
  2. namespace App\Http\Controllers\Auth;
  3. use Illuminate\Http\Request;
  4. use Illuminate\Support\Facades\Gate;
  5. use Laravel\Passport\Http\Controllers\PersonalAccessTokenController as PassportPatController;
  6. use Symfony\Component\HttpKernel\Exception\AccessDeniedHttpException;
  7. class PersonalAccessTokenController extends PassportPatController
  8. {
  9. /**
  10. * Get all of the personal access tokens for the authenticated user.
  11. *
  12. * @return \Illuminate\Database\Eloquent\Collection<int, \Laravel\Passport\Token>|\Illuminate\Http\JsonResponse
  13. */
  14. public function forUser(Request $request)
  15. {
  16. if (Gate::denies('manage-pat')) {
  17. throw new AccessDeniedHttpException(__('errors.unsupported_with_sso_only'));
  18. }
  19. return parent::forUser($request);
  20. }
  21. /**
  22. * Create a new personal access token for the user.
  23. *
  24. * @return \Laravel\Passport\PersonalAccessTokenResult|\Illuminate\Http\JsonResponse
  25. */
  26. public function store(Request $request)
  27. {
  28. if (Gate::denies('manage-pat')) {
  29. throw new AccessDeniedHttpException(__('errors.unsupported_with_sso_only'));
  30. }
  31. return parent::store($request);
  32. }
  33. /**
  34. * Delete the given token.
  35. *
  36. * @param string $tokenId
  37. * @return \Illuminate\Http\Response|\Illuminate\Http\JsonResponse
  38. */
  39. public function destroy(Request $request, $tokenId)
  40. {
  41. if (Gate::denies('manage-pat')) {
  42. throw new AccessDeniedHttpException(__('errors.unsupported_with_sso_only'));
  43. }
  44. return parent::destroy($request, $tokenId);
  45. }
  46. }