You are here

public function RouteAccess::access in OAuth2 Client 8.3

Checks access to designated routes.

Any route uses this access checker delegates the access check to the relevant plugin, if that plugin desires to customize access.

Parameters

\Drupal\Core\Routing\RouteMatchInterface $routeMatch: The parametrized route.

\Drupal\Core\Session\AccountInterface $account: The currently logged in account.

Return value

\Drupal\Core\Access\AccessResultInterface The access result.

File

src/Access/RouteAccess.php, line 50

Class

RouteAccess
Custom access checking on oauth2_client routes.

Namespace

Drupal\oauth2_client\Access

Code

public function access(RouteMatchInterface $routeMatch, AccountInterface $account) {
  if ($routeMatch
    ->getRouteName() !== 'oauth2_client.code') {
    return AccessResult::neutral('This access check is for `oauth2_client.code` only.');
  }
  $pluginId = $routeMatch
    ->getParameter('plugin');
  $plugin = $this->pluginManager
    ->createInstance($pluginId);
  if ($plugin instanceof Oauth2ClientPluginAccessInterface) {
    return $plugin
      ->codeRouteAccess($account);
  }
  return AccessResult::allowedIfHasPermission($account, 'administer oauth2 clients');
}