Yoast\WP\SEO\MyYoast_Client\Domain
Discovery_Document::validate_server_capabilities
Validates that the server advertises support for all required features.
Метод класса: Discovery_Document{}
Хуков нет.
Возвращает
null. Ничего (null).
Использование
$result = Discovery_Document::validate_server_capabilities( $config ): void;
- $config(массив) (обязательный)
- .
Код Discovery_Document::validate_server_capabilities() Discovery Document::validate server capabilities Yoast 28.3
private static function validate_server_capabilities( array $config ): void {
$checks = [
[
'field' => 'code_challenge_methods_supported',
'required' => 'S256',
'message' => 'Server does not support S256 PKCE code challenge method.',
],
[
'field' => 'grant_types_supported',
'required' => 'authorization_code',
'message' => 'Server does not support authorization_code grant type.',
],
[
'field' => 'grant_types_supported',
'required' => 'refresh_token',
'message' => 'Server does not support refresh_token grant type.',
],
[
'field' => 'grant_types_supported',
'required' => 'client_credentials',
'message' => 'Server does not support client_credentials grant type.',
],
[
'field' => 'token_endpoint_auth_methods_supported',
'required' => 'private_key_jwt',
'message' => 'Server does not support private_key_jwt authentication.',
],
[
'field' => 'token_endpoint_auth_signing_alg_values_supported',
'required' => 'EdDSA',
'message' => 'Server does not support EdDSA for token endpoint auth signing.',
],
[
'field' => 'dpop_signing_alg_values_supported',
'required' => 'EdDSA',
'message' => 'Server does not support EdDSA for DPoP signing.',
],
];
foreach ( $checks as $check ) {
$supported = ( $config[ $check['field'] ] ?? [] );
if ( ! \is_array( $supported ) || ! \in_array( $check['required'], $supported, true ) ) {
// phpcs:ignore WordPress.Security.EscapeOutput.ExceptionNotEscaped -- Internal exception message.
throw new Server_Capability_Exception( $check['message'] );
}
}
}