%PDF- %PDF-
Direktori : /www/varak.net/nextcloud.varak.net/3rdparty/web-auth/webauthn-lib/src/ |
Current File : /www/varak.net/nextcloud.varak.net/3rdparty/web-auth/webauthn-lib/src/PublicKeyCredential.php |
<?php declare(strict_types=1); namespace Webauthn; use Stringable; use const E_USER_DEPRECATED; use const JSON_THROW_ON_ERROR; /** * @see https://www.w3.org/TR/webauthn/#iface-pkcredential */ class PublicKeyCredential extends Credential implements Stringable { public function __construct( null|string $id, string $type, string $rawId, public readonly AuthenticatorResponse $response ) { parent::__construct($id, $type, $rawId); } /** * @deprecated since 4.8.0. * @infection-ignore-all */ public function __toString(): string { return json_encode($this->getPublicKeyCredentialDescriptor(), JSON_THROW_ON_ERROR); } public static function create(null|string $id, string $type, string $rawId, AuthenticatorResponse $response): self { return new self($id, $type, $rawId, $response); } /** * @deprecated since 4.7.0. Please use the property directly. * @infection-ignore-all */ public function getRawId(): string { return $this->rawId; } /** * @deprecated since 4.7.0. Please use the property directly. * @infection-ignore-all */ public function getResponse(): AuthenticatorResponse { return $this->response; } /** * @param string[] $transport */ public function getPublicKeyCredentialDescriptor(null|array $transport = null): PublicKeyCredentialDescriptor { if ($transport !== null) { trigger_deprecation( 'web-auth/webauthn-lib', '4.8.0', 'The parameter "$transport" is deprecated and will be removed in 5.0.0.' ); @trigger_error( sprintf( 'The $transport argument of %s() is deprecated since 4.8.0 and will be removed in 5.0.0.', __METHOD__ ), E_USER_DEPRECATED ); } $transport ??= $this->response instanceof AuthenticatorAttestationResponse ? $this->response->transports : []; return PublicKeyCredentialDescriptor::create($this->type, $this->rawId, $transport); } }