[FidoClient] Implementation of FIDO UAF Client C# API
[platform/core/csapi/tizenfx.git] / src / Tizen.Account.FidoClient / Tizen.Account.FidoClient / AuthenticatorInformation.cs
1 /*
2  * Copyright (c) 2016 Samsung Electronics Co., Ltd All Rights Reserved
3  *
4  * Licensed under the Apache License, Version 2.0 (the License);
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an AS IS BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16
17 using System;
18 using System.Collections.Generic;
19
20 namespace Tizen.Account.FidoClient
21 {
22     /// <summary>
23     /// Contains information about the authenticators registered on the device.
24     /// </summary>
25     /// <example>
26     /// <code>
27     ///     IEnumerable<AuthenticatorInformation> authInfos = await UafAuthenticatorFinder.DiscoverAuthenticatorsAsync();
28     ///     foreach (AuthenticatorInformation authInfo in authInfos)
29     ///     {
30     ///         string aaid = authInfo.Aaid;
31     ///         string title = authInfo.Title;
32     ///     }
33     /// </code>
34     /// </example>
35     public class AuthenticatorInformation
36     {
37         internal AuthenticatorInformation()
38         {
39         }
40
41         /// <summary>
42         /// The authenticator Title
43         /// </summary>
44         public string Title { get; internal set; }
45
46         /// <summary>
47         /// The Authenticator AAID (Authenticator Attestation ID)
48         /// </summary>
49         public string Aaid { get; internal set; }
50
51         /// <summary>
52         /// The Authenticator description
53         /// </summary>
54         public string Description { get; internal set; }
55
56         /// <summary>
57         /// The Authenticator assertion scheme.
58         /// </summary>
59         public string AssertionScheme { get; internal set; }
60
61         /// <summary>
62         /// The Authenticator algorithm.
63         /// </summary>
64         public AuthenticationAlgorithm AuthenticationAlgorithm { get; internal set; }
65
66         /// <summary>
67         /// The user verification method of this Authenticator
68         /// </summary>
69         public UserVerificationMethod UserVerification { get; internal set; }
70
71         /// <summary>
72         /// The key protection method of this Authenticator.
73         /// </summary>
74         public KeyProtectionType KeyProtection { get; internal set; }
75
76         /// <summary>
77         /// The matcher protection method of this Authenticator.
78         /// </summary>
79         public MatcherProtectionType MatcherProtection { get; internal set; }
80
81         /// <summary>
82         /// The attachment hint of this Authenticator.
83         /// </summary>
84         public AuthenticatorAttachmentHint AttachmentHint { get; internal set; }
85
86         /// <summary>
87         /// Denotes the Authenticator is Second factor only which is supported by U2F standards.
88         /// </summary>
89         public bool IsSecondFactorOnly { get; internal set; }
90
91         /// <summary>
92         /// The available attestation types for this Authenticator.
93         /// </summary>
94         public IEnumerable<AuthenticatorAttestationType> AttestationTypes { get; internal set; }
95
96         /// <summary>
97         /// The Transaction Confirmation display type of this Authenticator.
98         /// </summary>
99         public TransactionConfirmationDisplayType TcDisplayType { get; internal set; }
100
101         /// <summary>
102         /// The Transaction Confirmation display type of this Authenticator.
103         /// </summary>
104         public string TcDisplayContentType { get; internal set; }
105
106         /// <summary>
107         /// The icon of this Authenticator.
108         /// </summary>
109         public string Icon { get; internal set; }
110     }
111 }