Yoast\WP\SEO\MyYoast_Client\Infrastructure\Token

User_Token_Storage::decrypt_and_decodeprivateYoast 1.0

Decrypts and decodes a stored meta value into a Token_Set.

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

Хуков нет.

Возвращает

Token_Set|null. The token set, or null on absence/failure.

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

// private - только в коде основоного (родительского) класса
$result = $this->decrypt_and_decode( $user_id, $stored ): ?Token_Set;
$user_id(int) (обязательный)
The user ID (for logging context).
$stored(строка|false|null) (обязательный)
The stored value.

Код User_Token_Storage::decrypt_and_decode() Yoast 28.3

private function decrypt_and_decode( int $user_id, $stored ): ?Token_Set {
	if ( ! \is_string( $stored ) || $stored === '' ) {
		return null;
	}

	try {
		$decrypted = $this->encryption->decrypt( $stored, self::ENCRYPTION_CONTEXT );
		$data      = \json_decode( $decrypted, true, 512, \JSON_THROW_ON_ERROR );

		if ( ! \is_array( $data ) || empty( $data['access_token'] ) ) {
			return null;
		}

		return Token_Set::from_array( $data );
	} catch ( Exception $e ) {
		$this->logger->error(
			'Failed to decrypt stored user token for user {user_id}: {error}',
			[
				'user_id' => $user_id,
				'error'   => $e->getMessage(),
			],
		);

		return null;
	}
}