>
*/
private $metadata;
/**
* Registered_Client constructor.
*
* @param string $client_id The registered client ID.
* @param string $registration_access_token The registration access token.
* @param string $registration_client_uri The management endpoint URL.
* @param array> $metadata Additional metadata from the registration response.
*
* @throws InvalidArgumentException If client_id is empty.
*/
public function __construct(
string $client_id,
// phpcs:ignore PHPCompatibility.Attributes.NewAttributes.PHPNativeAttributeFound -- No-op on PHP < 8.2; redacts parameter from stack traces on PHP 8.2+.
#[SensitiveParameter]
string $registration_access_token,
string $registration_client_uri,
array $metadata = []
) {
if ( $client_id === '' ) {
throw new InvalidArgumentException( 'Registered_Client requires a non-empty client_id.' );
}
$this->client_id = $client_id;
$this->registration_access_token = $registration_access_token;
$this->registration_client_uri = $registration_client_uri;
$this->metadata = $metadata;
}
/**
* Returns the registered client ID.
*
* @return string
*/
public function get_client_id(): string {
return $this->client_id;
}
/**
* Returns the registration access token.
*
* @return string
*/
public function get_registration_access_token(): string {
return $this->registration_access_token;
}
/**
* Returns the management endpoint URL.
*
* @return string
*/
public function get_registration_client_uri(): string {
return $this->registration_client_uri;
}
/**
* Returns additional metadata from the registration response.
*
* @return array>
*/
public function get_metadata(): array {
return $this->metadata;
}
/**
* Converts the DTO to an associative array for storage.
*
* @return array>
*/
public function to_array(): array {
return [
'client_id' => $this->client_id,
'registration_access_token' => $this->registration_access_token,
'registration_client_uri' => $this->registration_client_uri,
'metadata' => $this->metadata,
];
}
}