47 lines
1015 B
PHP
47 lines
1015 B
PHP
<?php
|
|
|
|
declare(strict_types=1);
|
|
|
|
namespace Webauthn;
|
|
|
|
use const JSON_THROW_ON_ERROR;
|
|
use Stringable;
|
|
|
|
/**
|
|
* @see https://www.w3.org/TR/webauthn/#iface-pkcredential
|
|
*/
|
|
class PublicKeyCredential extends Credential implements Stringable
|
|
{
|
|
public function __construct(
|
|
string $id,
|
|
string $type,
|
|
protected string $rawId,
|
|
protected AuthenticatorResponse $response
|
|
) {
|
|
parent::__construct($id, $type);
|
|
}
|
|
|
|
public function __toString(): string
|
|
{
|
|
return json_encode($this, JSON_THROW_ON_ERROR);
|
|
}
|
|
|
|
public function getRawId(): string
|
|
{
|
|
return $this->rawId;
|
|
}
|
|
|
|
public function getResponse(): AuthenticatorResponse
|
|
{
|
|
return $this->response;
|
|
}
|
|
|
|
/**
|
|
* @param string[] $transport
|
|
*/
|
|
public function getPublicKeyCredentialDescriptor(array $transport = []): PublicKeyCredentialDescriptor
|
|
{
|
|
return new PublicKeyCredentialDescriptor($this->getType(), $this->getRawId(), $transport);
|
|
}
|
|
}
|