You are here

public function DebugController::debug in Simple OAuth (OAuth2) & OpenID Connect 8.3

Same name and namespace in other branches
  1. 8.2 simple_oauth_extras/src/Controller/DebugController.php \Drupal\simple_oauth_extras\Controller\DebugController::debug()

Processes a GET request.

1 string reference to 'DebugController::debug'
simple_oauth_extras.routing.yml in simple_oauth_extras/simple_oauth_extras.routing.yml
simple_oauth_extras/simple_oauth_extras.routing.yml

File

simple_oauth_extras/src/Controller/DebugController.php, line 39

Class

DebugController

Namespace

Drupal\simple_oauth_extras\Controller

Code

public function debug(ServerRequestInterface $request) {
  $user = $this
    ->currentUser();
  $permissions_list = $this->userPermissions
    ->getPermissions();
  $permission_info = [];

  // Loop over all the permissions and check if the user has access or not.
  foreach ($permissions_list as $permission_id => $permission) {
    $permission_info[$permission_id] = [
      'title' => $permission['title'],
      'access' => $user
        ->hasPermission($permission_id),
    ];
    if (!empty($permission['description'])) {
      $permission_info['description'] = $permission['description'];
    }
  }
  return new JsonResponse([
    'token' => str_replace('Bearer ', '', $request
      ->getHeader('Authorization')),
    'id' => $user
      ->id(),
    'roles' => $user
      ->getRoles(),
    'permissions' => $permission_info,
  ]);
}