RegisterRequest::jsonSerialize()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 11

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 11
rs 9.9
c 0
b 0
f 0
cc 1
nc 1
nop 0
1
<?php
2
3
/**
4
 * Copyright 2014 SURFnet bv
5
 *
6
 * Licensed under the Apache License, Version 2.0 (the "License");
7
 * you may not use this file except in compliance with the License.
8
 * You may obtain a copy of the License at
9
 *
10
 *     http://www.apache.org/licenses/LICENSE-2.0
11
 *
12
 * Unless required by applicable law or agreed to in writing, software
13
 * distributed under the License is distributed on an "AS IS" BASIS,
14
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
 * See the License for the specific language governing permissions and
16
 * limitations under the License.
17
 */
18
19
namespace Surfnet\StepupU2fBundle\Dto;
20
21
use JsonSerializable;
22
use Symfony\Component\Validator\Constraints as Assert;
23
24
final class RegisterRequest implements JsonSerializable
25
{
26
    /**
27
     * @Assert\NotBlank(message="Register request version may not be empty")
28
     * @Assert\Type("string", message="Register request version must be a string")
29
     *
30
     * @var string
31
     */
32
    public $version;
33
34
    /**
35
     * @Assert\NotBlank(message="Register request challenge may not be empty")
36
     * @Assert\Type("string", message="Register request challenge must be a string")
37
     *
38
     * @var string
39
     */
40
    public $challenge;
41
42
    /**
43
     * @Assert\NotBlank(message="Register request AppID may not be empty")
44
     * @Assert\Type("string", message="Register request AppID must be a string")
45
     *
46
     * @var string
47
     */
48
    public $appId;
49
50
    public function jsonSerialize()
51
    {
52
        // The array keys below conform to the U2F JavaScript RegisterRequest dictionary
53
        // https://fidoalliance.org/specs/fido-u2f-v1.0-nfc-bt-amendment-20150514/fido-u2f-javascript-api.html
54
        //     #dictionary-registerrequest-members
55
        return [
56
            'version'   => $this->version,
57
            'challenge' => $this->challenge,
58
            'appId'     => $this->appId,
59
        ];
60
    }
61
}
62