PublicKeyCredential   A
last analyzed

Complexity

Total Complexity 4

Size/Duplication

Total Lines 29
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
eloc 9
dl 0
loc 29
rs 10
c 0
b 0
f 0
wmc 4

4 Methods

Rating   Name   Duplication   Size   Complexity  
A getPublicKeyCredentialDescriptor() 0 3 1
A getRawId() 0 3 1
A getResponse() 0 3 1
A __construct() 0 5 1
1
<?php
2
3
declare(strict_types=1);
4
5
/*
6
 * The MIT License (MIT)
7
 *
8
 * Copyright (c) 2014-2018 Spomky-Labs
9
 *
10
 * This software may be modified and distributed under the terms
11
 * of the MIT license.  See the LICENSE file for details.
12
 */
13
14
namespace U2FAuthentication\Fido2;
15
16
/**
17
 * @see https://www.w3.org/TR/webauthn/#iface-pkcredential
18
 */
19
class PublicKeyCredential extends Credential
20
{
21
    private $rawId;
22
23
    private $response;
24
25
    public function __construct(string $id, string $type, string $rawId, AuthenticatorResponse $response)
26
    {
27
        parent::__construct($id, $type);
28
        $this->rawId = $rawId;
29
        $this->response = $response;
30
    }
31
32
    public function getRawId(): string
33
    {
34
        return $this->rawId;
35
    }
36
37
    public function getResponse(): AuthenticatorResponse
38
    {
39
        return $this->response;
40
    }
41
42
    /**
43
     * @param string[] $transport
44
     */
45
    public function getPublicKeyCredentialDescriptor(array $transport = []): PublicKeyCredentialDescriptor
46
    {
47
        return new PublicKeyCredentialDescriptor($this->getType(), $this->getRawId(), $transport);
48
    }
49
}
50