You are here

class AuthCodeRedirectExample in OAuth2 Client 8.3

Auth Code with redirect example plugin.

Plugin annotation


@Oauth2Client(
  id = "authcode_redirect_example",
  name = @Translation("Example for post code capture redirect override."),
  grant_type = "authorization_code",
  authorization_uri = "https://oauth.mocklab.io/oauth/authorize",
  token_uri = "https://oauth.mocklab.io/oauth/token",
  resource_owner_uri = "https://oauth.mocklab.io/userinfo",
)

Hierarchy

Expanded class hierarchy of AuthCodeRedirectExample

File

examples/oauth2_client_example_plugins/src/Plugin/Oauth2Client/AuthCodeRedirectExample.php, line 24

Namespace

Drupal\oauth2_client_example_plugins\Plugin\Oauth2Client
View source
class AuthCodeRedirectExample extends Oauth2ClientPluginBase implements Oauth2ClientPluginRedirectInterface {

  /**
   * Access Token storage implementation.
   *
   * @var \Drupal\Core\TempStore\PrivateTempStore
   */
  private $tempStore;

  /**
   * {@inheritdoc}
   */
  public static function create(ContainerInterface $container, array $configuration, $plugin_id, $plugin_definition) {
    $instance = parent::create($container, $configuration, $plugin_id, $plugin_definition);
    $instance->tempStore = $container
      ->get('tempstore.private')
      ->get('authcode_private_temp_store_example');
    return $instance;
  }

  /**
   * {@inheritdoc}
   */
  public function getPostCaptureRedirect() {

    // After capturing the token, go to the site homepage.
    $url = Url::fromRoute('<front>');
    return new RedirectResponse($url
      ->toString(TRUE)
      ->getGeneratedUrl());
  }

  /*
   * This example assumes that a user is authenticating against a third-party
   * service to retrieve a token that Drupal can use to access resources on
   * that user's behalf.
   *
   */

  /**
   * {@inheritdoc}
   */
  public function storeAccessToken(AccessToken $accessToken) {
    $key = 'oauth2_client_access_token-' . $this
      ->getId();
    $this->tempStore
      ->set($key, $accessToken);
  }

  /**
   * {@inheritdoc}
   */
  public function retrieveAccessToken() {
    $key = 'oauth2_client_access_token-' . $this
      ->getId();
    return $this->tempStore
      ->get($key);
  }

  /**
   * {@inheritdoc}
   */
  public function clearAccessToken() {
    $key = 'oauth2_client_access_token-' . $this
      ->getId();
    return $this->tempStore
      ->delete($key);
  }

}

Members

Namesort descending Modifiers Type Description Overrides
AuthCodeRedirectExample::$tempStore private property Access Token storage implementation.
AuthCodeRedirectExample::clearAccessToken public function Clears the access token from storage. Overrides Oauth2ClientPluginInterface::clearAccessToken
AuthCodeRedirectExample::create public static function Creates an instance of the plugin. Overrides Oauth2ClientPluginBase::create
AuthCodeRedirectExample::getPostCaptureRedirect public function Override the default redirection with this method. Overrides Oauth2ClientPluginRedirectInterface::getPostCaptureRedirect
AuthCodeRedirectExample::retrieveAccessToken public function Retrieve the access token storage. Overrides Oauth2ClientPluginInterface::retrieveAccessToken
AuthCodeRedirectExample::storeAccessToken public function Stores access tokens obtained by this client. Overrides Oauth2ClientPluginInterface::storeAccessToken
ConfigFormBaseTrait::config protected function Retrieves a configuration object.
DependencySerializationTrait::$_entityStorages protected property An array of entity type IDs keyed by the property name of their storages.
DependencySerializationTrait::$_serviceIds protected property An array of service IDs keyed by property name used for serialization.
DependencySerializationTrait::__sleep public function 1
DependencySerializationTrait::__wakeup public function 2
MessengerTrait::messenger public function Gets the messenger. 29
MessengerTrait::setMessenger public function Sets the messenger.
Oauth2ClientPluginBase::$configFactory protected property The configuration factory.
Oauth2ClientPluginBase::$credentials private property Storage for credentials retrieved from credential service.
Oauth2ClientPluginBase::$credentialService protected property Injected credential service.
Oauth2ClientPluginBase::$messenger protected property The messenger service. Overrides MessengerTrait::$messenger
Oauth2ClientPluginBase::$state protected property The Drupal state api.
Oauth2ClientPluginBase::$uuid protected property Injected UUID service.
Oauth2ClientPluginBase::buildConfigurationForm public function Form constructor. Overrides PluginFormInterface::buildConfigurationForm
Oauth2ClientPluginBase::checkKeyDefined private function Check that a key is defined when requested. Throw an exception if not.
Oauth2ClientPluginBase::clearCredentials private function Helper function to clear cached credentials.
Oauth2ClientPluginBase::defaultConfiguration public function Gets default configuration for this plugin. Overrides ConfigurableInterface::defaultConfiguration
Oauth2ClientPluginBase::displaySuccessMessage public function Check the plugin definition for success_message or return a static value. Overrides Oauth2ClientPluginInterface::displaySuccessMessage
Oauth2ClientPluginBase::expandedProviderOptions protected function Helper method to build the credential provider elements of the form.
Oauth2ClientPluginBase::getAuthorizationUri public function Retrieves the authorization_uri of the OAuth2 server. Overrides Oauth2ClientPluginInterface::getAuthorizationUri
Oauth2ClientPluginBase::getClientId public function Retrieves the client_id of the OAuth2 server. Overrides Oauth2ClientPluginInterface::getClientId
Oauth2ClientPluginBase::getClientSecret public function Retrieves the client_secret of the OAuth2 server. Overrides Oauth2ClientPluginInterface::getClientSecret
Oauth2ClientPluginBase::getConfiguration public function Gets this plugin's configuration. Overrides ConfigurableInterface::getConfiguration
Oauth2ClientPluginBase::getCredentialProvider public function Returns the plugin credentials if they are set, otherwise returns NULL. Overrides Oauth2ClientPluginInterface::getCredentialProvider
Oauth2ClientPluginBase::getEditableConfigNames protected function Gets the configuration names that will be editable. Overrides ConfigFormBaseTrait::getEditableConfigNames
Oauth2ClientPluginBase::getGrantType public function Retrieves the grant type of the plugin. Overrides Oauth2ClientPluginInterface::getGrantType
Oauth2ClientPluginBase::getId public function Retrieves the id of the OAuth2 Client plugin. Overrides Oauth2ClientPluginInterface::getId
Oauth2ClientPluginBase::getName public function Retrieves the human-readable name of the Oauth2 Client plugin. Overrides Oauth2ClientPluginInterface::getName
Oauth2ClientPluginBase::getRedirectUri public function Retrieves the redirect_uri of the OAuth2 server. Overrides Oauth2ClientPluginInterface::getRedirectUri
Oauth2ClientPluginBase::getResourceUri public function Retrieves the resource_uri of the OAuth2 server. Overrides Oauth2ClientPluginInterface::getResourceUri
Oauth2ClientPluginBase::getScopes public function Get the set of scopes for the provider to use by default. Overrides Oauth2ClientPluginInterface::getScopes
Oauth2ClientPluginBase::getScopeSeparator public function Get the separator used to join the scopes in the OAuth2 query string. Overrides Oauth2ClientPluginInterface::getScopeSeparator
Oauth2ClientPluginBase::getStorageKey public function Returns the credential storage key if it is set, otherwise returns NULL. Overrides Oauth2ClientPluginInterface::getStorageKey
Oauth2ClientPluginBase::getTokenUri public function Retrieves the token_uri of the OAuth2 server. Overrides Oauth2ClientPluginInterface::getTokenUri
Oauth2ClientPluginBase::loadConfiguration protected function Helper function to initialize the internal configuration array.
Oauth2ClientPluginBase::retrieveCredentials private function Helper function to retrieve and cache credentials.
Oauth2ClientPluginBase::setConfiguration public function Sets the configuration for this plugin instance. Overrides ConfigurableInterface::setConfiguration
Oauth2ClientPluginBase::submitConfigurationForm public function Form submission handler. Overrides PluginFormInterface::submitConfigurationForm
Oauth2ClientPluginBase::validateConfigurationForm public function Form validation handler. Overrides PluginFormInterface::validateConfigurationForm
Oauth2ClientPluginBase::__construct final public function Constructs a Oauth2ClientPluginBase object. Overrides PluginBase::__construct
PluginBase::$configuration protected property Configuration information passed into the plugin. 1
PluginBase::$pluginDefinition protected property The plugin implementation definition. 1
PluginBase::$pluginId protected property The plugin_id.
PluginBase::DERIVATIVE_SEPARATOR constant A string which is used to separate base plugin IDs from the derivative ID.
PluginBase::getBaseId public function Gets the base_plugin_id of the plugin instance. Overrides DerivativeInspectionInterface::getBaseId
PluginBase::getDerivativeId public function Gets the derivative_id of the plugin instance. Overrides DerivativeInspectionInterface::getDerivativeId
PluginBase::getPluginDefinition public function Gets the definition of the plugin implementation. Overrides PluginInspectionInterface::getPluginDefinition 3
PluginBase::getPluginId public function Gets the plugin_id of the plugin instance. Overrides PluginInspectionInterface::getPluginId
PluginBase::isConfigurable public function Determines if the plugin is configurable.
StringTranslationTrait::$stringTranslation protected property The string translation service. 1
StringTranslationTrait::formatPlural protected function Formats a string containing a count of items.
StringTranslationTrait::getNumberOfPlurals protected function Returns the number of plurals supported by a given language.
StringTranslationTrait::getStringTranslation protected function Gets the string translation service.
StringTranslationTrait::setStringTranslation public function Sets the string translation service to use. 2
StringTranslationTrait::t protected function Translates a string to the current language or to a given language.