Release 4.0.0-preview1-00051
[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     /// <since_tizen> 3 </since_tizen>
26     /// <example>
27     /// <code>
28     ///     IEnumerable<AuthenticatorInformation> authInfos = await UafAuthenticatorFinder.DiscoverAuthenticatorsAsync();
29     ///     foreach (AuthenticatorInformation authInfo in authInfos)
30     ///     {
31     ///         string aaid = authInfo.Aaid;
32     ///         string title = authInfo.Title;
33     ///     }
34     /// </code>
35     /// </example>
36     public class AuthenticatorInformation
37     {
38         internal AuthenticatorInformation()
39         {
40         }
41
42         /// <summary>
43         /// The authenticator Title
44         /// </summary>
45         /// <since_tizen> 3 </since_tizen>
46         public string Title { get; internal set; }
47
48         /// <summary>
49         /// The Authenticator AAID (Authenticator Attestation ID)
50         /// </summary>
51         /// <since_tizen> 3 </since_tizen>
52         public string Aaid { get; internal set; }
53
54         /// <summary>
55         /// The Authenticator description
56         /// </summary>
57         /// <since_tizen> 3 </since_tizen>
58         public string Description { get; internal set; }
59
60         /// <summary>
61         /// The Authenticator assertion scheme.
62         /// </summary>
63         /// <since_tizen> 3 </since_tizen>
64         public string AssertionScheme { get; internal set; }
65
66         /// <summary>
67         /// The Authenticator algorithm.
68         /// </summary>
69         /// <since_tizen> 3 </since_tizen>
70         public AuthenticationAlgorithm AuthenticationAlgorithm { get; internal set; }
71
72         /// <summary>
73         /// The user verification method of this Authenticator
74         /// </summary>
75         /// <since_tizen> 3 </since_tizen>
76         public UserVerificationMethod UserVerification { get; internal set; }
77
78         /// <summary>
79         /// The key protection method of this Authenticator.
80         /// </summary>
81         /// <since_tizen> 3 </since_tizen>
82         public KeyProtectionType KeyProtection { get; internal set; }
83
84         /// <summary>
85         /// The matcher protection method of this Authenticator.
86         /// </summary>
87         /// <since_tizen> 3 </since_tizen>
88         public MatcherProtectionType MatcherProtection { get; internal set; }
89
90         /// <summary>
91         /// The attachment hint of this Authenticator.
92         /// </summary>
93         /// <since_tizen> 3 </since_tizen>
94         public AuthenticatorAttachmentHint AttachmentHint { get; internal set; }
95
96         /// <summary>
97         /// Denotes the Authenticator is Second factor only which is supported by U2F standards.
98         /// </summary>
99         /// <since_tizen> 3 </since_tizen>
100         public bool IsSecondFactorOnly { get; internal set; }
101
102         /// <summary>
103         /// The available attestation types for this Authenticator.
104         /// </summary>
105         /// <since_tizen> 3 </since_tizen>
106         public IEnumerable<AuthenticatorAttestationType> AttestationTypes { get; internal set; }
107
108         /// <summary>
109         /// The Transaction Confirmation display type of this Authenticator.
110         /// </summary>
111         /// <since_tizen> 3 </since_tizen>
112         public TransactionConfirmationDisplayType TcDisplayType { get; internal set; }
113
114         /// <summary>
115         /// The Transaction Confirmation display type of this Authenticator.
116         /// </summary>
117         /// <since_tizen> 3 </since_tizen>
118         public string TcDisplayContentType { get; internal set; }
119
120         /// <summary>
121         /// The icon of this Authenticator.
122         /// </summary>
123         /// <since_tizen> 3 </since_tizen>
124         public string Icon { get; internal set; }
125     }
126 }