Yoast\WP\SEO\MyYoast_Client\Infrastructure\OIDC

ID_Token_Validator::find_ed25519_keyprivateYoast 1.0

Finds an Ed25519 public key by kid in a JWKS.

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

Хуков нет.

Возвращает

Строку|null. The 32-byte Ed25519 public key, or null if not found.

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

// private - только в коде основоного (родительского) класса
$result = $this->find_ed25519_key( $jwks, $kid ): ?string;
$jwks(массив) (обязательный)
.
$kid(строка) (обязательный)
The key ID to find.

Код ID_Token_Validator::find_ed25519_key() Yoast 27.8

private function find_ed25519_key( array $jwks, string $kid ): ?string {
	foreach ( ( $jwks['keys'] ?? [] ) as $key ) {
		if ( ( $key['kid'] ?? '' ) === $kid && ( $key['kty'] ?? '' ) === self::EXPECTED_KTY && ( $key['crv'] ?? '' ) === self::EXPECTED_CRV ) {
			$x = Base64url::decode( ( $key['x'] ?? '' ) );
			if ( $x !== false && \strlen( $x ) === \SODIUM_CRYPTO_SIGN_PUBLICKEYBYTES ) {
				return $x;
			}
		}
	}

	return null;
}