WebauthnConfiguration::getValidationRules()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 10
Code Lines 8

Duplication

Lines 0
Ratio 0 %

Importance

Changes 2
Bugs 0 Features 0
Metric Value
cc 1
eloc 8
nc 1
nop 0
dl 0
loc 10
rs 10
c 2
b 0
f 0
1
<?php
2
3
/**
4
 * Platine Webauth
5
 *
6
 * Platine Webauthn is the implementation of webauthn specifications
7
 *
8
 * This content is released under the MIT License (MIT)
9
 *
10
 * Copyright (c) 2020 Platine Webauth
11
 * Copyright (c) Jakob Bennemann <[email protected]>
12
 *
13
 * Permission is hereby granted, free of charge, to any person obtaining a copy
14
 * of this software and associated documentation files (the "Software"), to deal
15
 * in the Software without restriction, including without limitation the rights
16
 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
17
 * copies of the Software, and to permit persons to whom the Software is
18
 * furnished to do so, subject to the following conditions:
19
 *
20
 * The above copyright notice and this permission notice shall be included in all
21
 * copies or substantial portions of the Software.
22
 *
23
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
24
 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
25
 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
26
 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
27
 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
28
 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
29
 * SOFTWARE.
30
 */
31
32
declare(strict_types=1);
33
34
namespace Platine\Webauthn;
35
36
use Platine\Stdlib\Config\AbstractConfiguration;
37
38
/**
39
 * @class WebauthnConfiguration
40
 * @package Platine\Webauthn
41
 */
42
class WebauthnConfiguration extends AbstractConfiguration
43
{
44
    /**
45
     * {@inheritdoc}
46
     */
47
    public function getValidationRules(): array
48
    {
49
        return [
50
            'relying_party_id' => 'string',
51
            'relying_party_name' => 'string',
52
            'relying_party_logo' => 'string',
53
            'timeout' => 'integer',
54
            'challenge_length' => 'integer',
55
            'transport_types' => 'array',
56
            'ignore_origins' => 'array',
57
        ];
58
    }
59
60
    /**
61
     * {@inheritdoc}
62
     */
63
    public function getDefault(): array
64
    {
65
        return [
66
            'relying_party_id' => 'localhost',
67
            'relying_party_name' => 'Platine App',
68
            'relying_party_logo' => '',
69
            'timeout' => 60,
70
            'challenge_length' => 32,
71
            'transport_types' => [
72
                'internal'
73
            ],
74
            'ignore_origins' => [
75
                'localhost'
76
            ],
77
        ];
78
    }
79
}
80