Yoast\WP\SEO\MyYoast_Client\Infrastructure\Registration

Client_Registration::get_registered_clientpublicYoast 1.0

Returns the stored registered client, or null if not registered.

Метод класса: Client_Registration{}

Хуков нет.

Возвращает

Registered_Client|null. The registered client, or null if not registered.

Использование

$Client_Registration = new Client_Registration();
$Client_Registration->get_registered_client(): ?Registered_Client;

Код Client_Registration::get_registered_client() Yoast 28.3

public function get_registered_client(): ?Registered_Client {
	$option_key = $this->get_option_key();

	if ( \array_key_exists( $option_key, $this->cached_registered_clients ) ) {
		return $this->cached_registered_clients[ $option_key ];
	}

	$stored = \get_option( $option_key, false );
	if ( ! \is_array( $stored ) || empty( $stored['client_id'] ) || empty( $stored['encrypted_rat'] ) ) {
		$this->cached_registered_clients[ $option_key ] = null;
		return null;
	}

	try {
		$rat = $this->encryption->decrypt( $stored['encrypted_rat'], self::ENCRYPTION_CONTEXT );
	} catch ( Encryption_Exception $e ) {
		$this->logger->error( 'Failed to decrypt registration access token, clearing registration: {error}', [ 'error' => $e->getMessage() ] );
		$this->forget_registration();
		return null;
	}

	try {
		$this->cached_registered_clients[ $option_key ] = new Registered_Client(
			$stored['client_id'],
			$rat,
			( $stored['registration_client_uri'] ?? '' ),
			( $stored['metadata'] ?? [] ),
			( $stored['validated_uris'] ?? [] ),
		);
	} catch ( InvalidArgumentException $e ) {
		$this->logger->error( 'Stored registration data is invalid, clearing registration: {error}', [ 'error' => $e->getMessage() ] );
		$this->forget_registration();
		return null;
	}

	return $this->cached_registered_clients[ $option_key ];
}