# wordpress-seo/27.9/src/myyoast-client/application/ports/client-authenticator-interface.php

Yoast SEO – Advanced SEO with real-time guidance and built-in AI, version 27.9. 25 lines.

- Page: https://pluginprobe.com/plugins/wordpress-seo/27.9/code/src/myyoast-client/application/ports/client-authenticator-interface.php
- Raw: https://pluginprobe.com/plugins/wordpress-seo/27.9/raw/src/myyoast-client/application/ports/client-authenticator-interface.php
- Modified: 2026-05-12T12:03:36+00:00

Line numbers below start at 1. Link to a line or a range by appending a fragment to the
page URL, for example `https://pluginprobe.com/plugins/wordpress-seo/27.9/code/src/myyoast-client/application/ports/client-authenticator-interface.php#L10-L20`.

```php
<?php
// phpcs:disable Yoast.NamingConventions.NamespaceName.TooLong -- Needed in the folder structure.

namespace Yoast\WP\SEO\MyYoast_Client\Application\Ports;

use Yoast\WP\SEO\MyYoast_Client\Application\Exceptions\Client_Authentication_Exception;

/**
 * Port for OAuth client authentication (private_key_jwt).
 */
interface Client_Authenticator_Interface {

	/**
	 * Creates a signed client_assertion JWT for the given audience.
	 *
	 * @param string $client_id The registered client_id.
	 * @param string $audience  The audience URL (typically the token endpoint).
	 *
	 * @return string The signed client_assertion JWT.
	 *
	 * @throws Client_Authentication_Exception If key retrieval or signing fails.
	 */
	public function create_client_assertion( string $client_id, string $audience ): string;
}

```
