*/
using static Interop;
-using static Tizen.Security.WebAuthn.ErrorFactory;
namespace Tizen.Security.WebAuthn
{
}
/// <summary>
- /// Extension identifier.
+ /// Gets the extension identifier.
/// </summary>
+ /// <value>
+ /// The binary data of the extension indentifier.
+ /// </value>
+ /// <since_tizen> 12 </since_tizen>
public byte[] ExtensionId { get; init; }
/// <summary>
- /// Extension value.
+ /// Gets the extension value.
/// </summary>
+ /// <value>
+ /// The binary data of the extension value.
+ /// </value>
+ /// <since_tizen> 12 </since_tizen>
public byte[] ExtensionValue { get; init; }
}
}
}
/// <summary>
- /// Authenticator attachment modality.
+ /// Gets the authenticator attachment modality.
/// </summary>
+ /// <value>
+ /// The attachment modality - the usage of platform or roaming authenticators.
+ /// </value>
+ /// <since_tizen> 12 </since_tizen>
public AuthenticatorAttachment Attachment { get; init; }
/// <summary>
- /// The extent to which the Relying Party desires to create a client-side discoverable credential.
+ /// Gets the Relying Party's requirement regarding client-side discoverable credentials.
/// </summary>
+ /// <value>
+ /// The extent to which the Relying Party desires to create a client-side discoverable credential.
+ /// </value>
+ /// <since_tizen> 12 </since_tizen>
public ResidentKeyRequirement ResidentKey { get; init; }
/// <summary>
- /// Whether residentKey is required.
+ /// Gets a value indicating whether a ResidentKey is required.
/// </summary>
+ /// <value>
+ /// A boolean value indicating whether a ResidentKey is required.
+ /// </value>
+ /// <since_tizen> 12 </since_tizen>
public bool RequireResidentKey { get; init; }
/// <summary>
- /// The Relying Party's requirements regarding user verification.
+ /// Gets the user verification requirements.
/// </summary>
+ /// <value>
+ /// The Relying Party's requirements regarding user verification.
+ /// </value>
+ /// <since_tizen> 12 </since_tizen>
public UserVerificationRequirement UserVerification { get; init; }
}
}
/// <since_tizen> 12 </since_tizen>
/// <feature>http://tizen.org/feature/security.webauthn</feature>
/// <returns>An enum with the collection of all supported authenticator types.</returns>
- /// <exception cref="NotSupportedException">The required feature is not supported.</exception>
+ /// <exception cref="NotSupportedException">Thrown when the required feature is not supported.</exception>
public static AuthenticatorTransport SupportedAuthenticators()
{
int ret = Libwebauthn.SupportedAuthenticators(out uint supported);
/// <param name="clientData">UTF-8 encoded JSON serialization of the client data.</param>
/// <param name="options">Specifies the desired attributes of the to-be-created public key credential.</param>
/// <param name="callbacks">The callback functions to be invoked.</param>
- /// <exception cref="NotSupportedException">The required feature is not supported.</exception>
- /// <exception cref="UnauthorizedAccessException">Required privilege is missing.</exception>
- /// <exception cref="ArgumentException">Input parameter is invalid.</exception>
- /// <exception cref="InvalidOperationException">Operation invalid in current state.</exception>
- /// <exception cref="OperationCanceledException">Canceled by a cancel request.</exception>
+ /// <exception cref="NotSupportedException">Thrown when the required feature is not supported.</exception>
+ /// <exception cref="UnauthorizedAccessException">Thrown when a required privilege is missing.</exception>
+ /// <exception cref="ArgumentException">Thrown when an input parameter is invalid.</exception>
+ /// <exception cref="InvalidOperationException">Thrown when the operation is invalid in current state.</exception>
+ /// <exception cref="OperationCanceledException">Thrown when the call is canceled by a cancel request.</exception>
public static void MakeCredential(ClientData clientData, PubkeyCredCreationOptions options, MakeCredentialCallbacks callbacks)
{
CheckPreconditions();
/// <param name="clientData">UTF-8 encoded JSON serialization of the client data.</param>
/// <param name="options">Specifies the desired attributes of the public key credential to discover.</param>
/// <param name="callbacks">The callback functions to be invoked.</param>
- /// <exception cref="NotSupportedException">The required feature is not supported.</exception>
- /// <exception cref="UnauthorizedAccessException">Required privilege is missing.</exception>
- /// <exception cref="ArgumentException">Input parameter is invalid.</exception>
- /// <exception cref="InvalidOperationException">Operation invalid in current state.</exception>
- /// <exception cref="OperationCanceledException">Canceled by a cancel request.</exception>
+ /// <exception cref="NotSupportedException">Thrown when the required feature is not supported.</exception>
+ /// <exception cref="UnauthorizedAccessException">Thrown when a required privilege is missing.</exception>
+ /// <exception cref="ArgumentException">Thrown when an input parameter is invalid.</exception>
+ /// <exception cref="InvalidOperationException">Thrown when the operation is invalid in current state.</exception>
+ /// <exception cref="OperationCanceledException">Thrown when the call is canceled by a cancel request.</exception>
public static void GetAssertion(ClientData clientData, PubkeyCredRequestOptions options, GetAssertionCallbacks callbacks)
{
CheckPreconditions();
/// </summary>
/// <since_tizen> 12 </since_tizen>
/// <feature>http://tizen.org/feature/security.webauthn</feature>
- /// <exception cref="NotSupportedException">The required feature is not supported.</exception>
- /// <exception cref="InvalidOperationException">Not allowed in the current context.</exception>
+ /// <exception cref="NotSupportedException">Thrown when the required feature is not supported.</exception>
+ /// <exception cref="InvalidOperationException">Thrown when the operation is invalid in current state.</exception>
public static void Cancel()
{
int ret = Libwebauthn.Cancel();
namespace Tizen.Security.WebAuthn
{
/// <summary>
- /// The response of GetAssertion().
+ /// The authenticator's response of <see cref="Authenticator.GetAssertion"/>.
/// </summary>
/// <remarks>
/// Refer to the following W3C specification for more information.
}
/// <summary>
- /// JSON-compatible serialization of client data.
+ /// Gets the serialized client data json.
/// </summary>
+ /// <value>
+ /// A JSON-compatible serialization of client data.
+ /// </value>
+ /// <since_tizen> 12 </since_tizen>
public byte[] ClientDataJson { get; init; }
/// <summary>
- /// The authenticator data contained within attestation_object.
- /// For more information, refer to https://www.w3.org/TR/webauthn-3/#sctn-authenticator-data
+ /// Gets the authenticator data contained within the Attestation Object.
/// </summary>
+ /// <value>
+ /// Authenticator data contained within the Attestation Object.
+ /// For more information, refer to https://www.w3.org/TR/webauthn-3/#sctn-authenticator-data
+ /// </value>
+ /// <since_tizen> 12 </since_tizen>
public byte[] AuthenticatorData { get; init; }
/// <summary>
- /// The raw signature returned from the authenticator.
- /// For more information, refer to https://www.w3.org/TR/webauthn-3/#sctn-op-get-assertion
+ /// Gets the signature returned from the authenticator.
/// </summary>
+ /// <value>
+ /// The signature returned from the authenticator.
+ /// For more information, refer to https://www.w3.org/TR/webauthn-3/#sctn-op-get-assertion
+ /// </value>
+ /// <since_tizen> 12 </since_tizen>
public byte[] Signature { get; init; }
/// <summary>
+ /// Gets the user handle returned from the authenticator.
+ /// </summary>
+ /// <value>
/// The user handle returned from the authenticator,
/// or null if the authenticator did not return a user handle.
- /// </summary>
+ /// </value>
+ /// <since_tizen> 12 </since_tizen>
public byte[] UserHandle { get; init; }
/// <summary>
- /// This OPTIONAL attribute contains an attestation object,
- /// if the authenticator supports attestation in assertions.
+ /// Gets the attestation object.
/// </summary>
+ /// <value>
+ /// An OPTIONAL property that contains an attestation object,
+ /// if the authenticator supports attestation in assertions.
+ /// </value>
+ /// <since_tizen> 12 </since_tizen>
public byte[] AttestationObject { get; init; }
}
}
\ No newline at end of file
namespace Tizen.Security.WebAuthn
{
/// <summary>
- /// The response of MakeCredential().
+ /// The response of <see cref="Authenticator.MakeCredential"/>.
/// </summary>
/// <remarks>
/// Refer to the following W3C specification for more information.
}
/// <summary>
- /// JSON-compatible serialization of client data.
+ /// Gets the serialized client data json.
/// </summary>
+ /// <value>
+ /// A JSON-compatible serialization of client data.
+ /// </value>
+ /// <since_tizen> 12 </since_tizen>
public byte[] ClientDataJson { get; init; }
/// <summary>
- /// The CBOR encoded Attestation Object to be returned to the RP.
+ /// Gets the Attestation Object to be returned to the Relying Party.
/// </summary>
+ /// <value>
+ /// A CBOR-encoded Attestation Object.
+ /// </value>
+ /// <since_tizen> 12 </since_tizen>
public byte[] AttestationObject { get; init; }
/// <summary>
- /// To represent multiple transports, <see cref="AuthenticatorTransport"/> can be ORed multiple times.
+ /// Gets an enum containing a list of transports.
/// </summary>
+ /// <value>
+ /// A list of transports. To represent multiple transports,
+ /// <see cref="AuthenticatorTransport"/> can be ORed multiple times.
+ /// </value>
+ /// <since_tizen> 12 </since_tizen>
public AuthenticatorTransport Transports { get; init; }
/// <summary>
- /// The authenticator data contained within attestation_object.
- /// For more information, refer to https://www.w3.org/TR/webauthn-3/#sctn-authenticator-data
+ /// Gets the authenticator data contained within the Attestation Object.
/// </summary>
+ /// <value>
+ /// Authenticator data contained within the Attestation Object.
+ /// For more information, refer to https://www.w3.org/TR/webauthn-3/#sctn-authenticator-data
+ /// </value>
+ /// <since_tizen> 12 </since_tizen>
public byte[] AuthenticatorData { get; init; }
/// <summary>
+ /// Gets the DER SubjectPublicKeyInfo of the new credential.
+ /// </summary>
+ /// <value>
/// DER SubjectPublicKeyInfo of the new credential, or null if this is not available.
/// For more information, refer to https://datatracker.ietf.org/doc/html/rfc5280#section-4.1.2.7
- /// </summary>
+ /// </value>
+ /// <since_tizen> 12 </since_tizen>
public byte[] SubjectPubkeyInfo { get; init; }
/// <summary>
- /// The COSEAlgorithmIdentifier of the new credential.
+ /// Gets the COSE algorithm identifier of the new credential.
/// </summary>
+ /// <value>
+ /// The COSE algorithm identifier of the new credential.
+ /// </value>
+ /// <since_tizen> 12 </since_tizen>
public CoseAlgorithm PubkeyAlg { get; init; }
}
* limitations under the License
*/
-using static Tizen.Security.WebAuthn.ErrorFactory;
-
namespace Tizen.Security.WebAuthn
{
/// <summary>
/// </summary>
/// <since_tizen> 12 </since_tizen>
/// <param name="jsonData">UTF-8 encoded JSON serialization of the client data.</param>
- /// <param name="hashAlgo">Hash algorithm used to hash the JsonData property.</param>
+ /// <param name="hashAlgo">Hash algorithm used to hash the jsonData parameter.</param>
public ClientData(byte[] jsonData, HashAlgorithm hashAlgo)
{
JsonData = jsonData;
}
/// <summary>
- /// UTF-8 encoded JSON serialization of the client data.
+ /// Gets the serialized client data json.
/// </summary>
+ /// <value>
+ /// A UTF-8 encoded JSON serialization of the client data.
+ /// </value>
+ /// <since_tizen> 12 </since_tizen>
public byte[] JsonData { get; init; }
/// <summary>
- /// Hash algorithm used to hash the JsonData property.
+ /// Gets the hash algorithm.
/// </summary>
+ /// <value>
+ /// The hash algorithm used to hash the JsonData property.
+ /// </value>
+ /// <since_tizen> 12 </since_tizen>
public HashAlgorithm HashAlgo{ get; init; }
}
}
}
/// <summary>
- /// Callback function for displaying QR code.
+ /// Gets the callback function for displaying the QR code.
/// </summary>
+ /// <value>
+ /// The callback function for displaying the QR code.
+ /// </value>
+ /// <since_tizen> 12 </since_tizen>
public Action<string, object> QrcodeCallback { get; init; }
/// <summary>
- /// Callback function for getting the final response.
+ /// Gets the callback function for getting the final response.
/// </summary>
+ /// <value>
+ /// The callback function for getting the final response of the operation from the authenticator.
+ /// </value>
+ /// <since_tizen> 12 </since_tizen>
public Action<PubkeyCredAssertion, WauthnError, object> ResponseCallback { get; init; }
/// <summary>
- /// Callback function for getting the updated linked device data.
+ /// Gets the callback function for getting the updated linked device data.
/// </summary>
+ /// <value>
+ /// The callback function for getting the updated linked device data from the authenticator.
+ /// </value>
+ /// <since_tizen> 12 </since_tizen>
public Action<HybridLinkedData, WauthnError, object> LinkedDataCallback { get; init; }
/// <summary>
- /// User data to be passed to <see cref="QrcodeCallback"/>, <see cref="ResponseCallback"/> and <see cref="LinkedDataCallback"/>.
+ /// Gets the user data to be passed to callbacks.
/// </summary>
+ /// <value>
+ /// The user data to be passed to <see cref="QrcodeCallback"/>, <see cref="ResponseCallback"/> and <see cref="LinkedDataCallback"/>.
+ /// </value>
+ /// <since_tizen> 12 </since_tizen>
public object UserData { get; init; }
}
}
}
/// <summary>
- /// CBOR:"1".
+ /// Gets the contact id (CBOR:"1").
/// </summary>
public byte[] ContactId { get; init; }
/// <summary>
- /// CBOR:"3".
+ /// Gets the link id (CBOR:"3").
/// </summary>
public byte[] LinkId { get; init; }
/// <summary>
- /// CBOR:"3".
+ /// Gets the link secret (CBOR:"3").
/// </summary>
public byte[] LinkSecret { get; init; }
/// <summary>
- /// CBOR:"4".
+ /// Gets the authenticator public key (CBOR:"4").
/// </summary>
public byte[] AuthenticatorPubkey { get; init; }
/// <summary>
- /// CBOR:"5".
+ /// Gets the authenticator name (CBOR:"5").
/// </summary>
public byte[] AuthenticatorName { get; init; }
/// <summary>
- /// CBOR:"6".
+ /// Gets the signature (CBOR:"6").
/// </summary>
public byte[] Signature { get; init; }
/// <summary>
- /// Domain String of tunnel server.
+ /// Gets the Domain String of tunnel server.
/// </summary>
public byte[] TunnelServerDomain { get; init; }
/// <summary>
- /// Identity Key created during QR initiated transaction.
+ /// Gets the identity Key created during QR initiated transaction.
/// </summary>
public byte[] IdentityKey { get; init; }
}
}
/// <summary>
- /// Callback function for displaying QR code.
+ /// Gets the callback function for displaying the QR code.
/// </summary>
+ /// <value>
+ /// The callback function for displaying the QR code.
+ /// </value>
+ /// <since_tizen> 12 </since_tizen>
public Action<string, object> QrcodeCallback { get; init; }
/// <summary>
- /// Callback function for getting the final response.
+ /// Gets the callback function for getting the final response.
/// </summary>
+ /// <value>
+ /// The callback function for getting the final response of the operation from the authenticator.
+ /// </value>
+ /// <since_tizen> 12 </since_tizen>
public Action<PubkeyCredAttestation, WauthnError, object> ResponseCallback { get; init; }
/// <summary>
- /// Callback function for getting the updated linked device data.
+ /// Gets the callback function for getting the updated linked device data.
/// </summary>
+ /// <value>
+ /// The callback function for getting the updated linked device data from the authenticator.
+ /// </value>
+ /// <since_tizen> 12 </since_tizen>
public Action<HybridLinkedData, WauthnError, object> LinkedDataCallback { get; init; }
/// <summary>
- /// User data to be passed to <see cref="QrcodeCallback"/>, <see cref="ResponseCallback"/> and <see cref="LinkedDataCallback"/>.
+ /// Gets the user data to be passed to callbacks.
/// </summary>
+ /// <value>
+ /// The user data to be passed to <see cref="QrcodeCallback"/>, <see cref="ResponseCallback"/> and <see cref="LinkedDataCallback"/>.
+ /// </value>
+ /// <since_tizen> 12 </since_tizen>
public object UserData { get; init; }
}
}
unsafe
{
var extPtr = (WauthnAuthenticationExt*)wauthnExts.descriptors;
- for (int i = 0; i < (int)wauthnExts.size; i++)
+ for (ulong i = 0; i < wauthnExts.size; i++)
{
- var wauthnExt = Marshal.PtrToStructure<WauthnAuthenticationExt>(new IntPtr(extPtr + i * sizeof(WauthnAuthenticationExt)));
+ var wauthnExt = Marshal.PtrToStructure<WauthnAuthenticationExt>(new IntPtr(extPtr + i * (ulong)sizeof(WauthnAuthenticationExt)));
extensionsArray[i] = new AuthenticationExtension(wauthnExt);
}
}
}
/// <summary>
- /// The base64url encoding of credential’s identifier.
+ /// Gets the credential’s identifier.
/// </summary>
+ /// <value>
+ /// The base64url encoding of credential’s identifier.
+ /// </value>
+ /// <since_tizen> 12 </since_tizen>
public byte[] Id { get; init; }
/// <summary>
- /// The credential’s type.
+ /// Gets the credential’s type.
/// </summary>
+ /// <value>
+ /// The credential’s type.
+ /// </value>
+ /// <since_tizen> 12 </since_tizen>
public PubkeyCredType Type { get; init; }
/// <summary>
- /// The raw value of credential’s identifier.
+ /// Gets the credential’s raw identifier.
/// </summary>
+ /// <value>
+ /// The raw value of the credential’s identifier.
+ /// </value>
+ /// <since_tizen> 12 </since_tizen>
public byte[] RawId { get; init; }
/// <summary>
- /// Authenticator's response.
+ /// Gets the authenticator's response.
/// </summary>
+ /// <value>
+ /// The authenticator's response data.
+ /// </value>
+ /// <since_tizen> 12 </since_tizen>
public AuthenticatorAssertionResponse Response { get; init; }
/// <summary>
- /// Authenticator attachment modality.
+ /// Gets the authenticator attachment modality.
/// </summary>
+ /// <value>
+ /// The attachment modality - the usage of platform or roaming authenticators.
+ /// </value>
+ /// <since_tizen> 12 </since_tizen>
public AuthenticatorAttachment AuthenticatorAttachment { get; init; }
/// <summary>
- /// The results of processing client extensions requested by the Relying Party
- /// upon the Relying Party's invocation of GetAssertion(). (optional)
+ /// Gets the results of processing client extensions.
/// </summary>
+ /// <value>
+ /// The results of processing client extensions requested by the Relying Party
+ /// upon the Relying Party's invocation of <see cref="Authenticator.GetAssertion"/>. (optional)
+ /// </value>
+ /// <since_tizen> 12 </since_tizen>
public IEnumerable<AuthenticationExtension> Extensions { get; init; }
/// <summary>
- /// Linked Device Connection Info (optional).
+ /// Gets the linked Device Connection Info.
+ /// </summary>
+ /// <value>
+ /// The linked Device Connection Info (optional).
/// If not null, the caller has to store this value and use this
/// in the next transaction to invoke state assisted transaction.
- /// </summary>
+ /// </value>
+ /// <since_tizen> 12 </since_tizen>
public HybridLinkedData LinkedDevice { get; init; }
}
}
\ No newline at end of file
unsafe
{
var extPtr = (WauthnAuthenticationExt*)wauthnExts.descriptors;
- for (int i = 0; i < (int)wauthnExts.size; i++)
+ for (ulong i = 0; i < wauthnExts.size; i++)
{
- var wauthnExt = Marshal.PtrToStructure<WauthnAuthenticationExt>(new IntPtr(extPtr + i * sizeof(WauthnAuthenticationExt)));
+ var wauthnExt = Marshal.PtrToStructure<WauthnAuthenticationExt>(new IntPtr(extPtr + i * (ulong)sizeof(WauthnAuthenticationExt)));
extensionsArray[i] = new AuthenticationExtension(wauthnExt);
}
}
}
/// <summary>
- /// The base64url encoding of credential’s identifier.
+ /// Gets the credential’s identifier.
/// </summary>
+ /// <value>
+ /// The base64url encoding of credential’s identifier.
+ /// </value>
+ /// <since_tizen> 12 </since_tizen>
public byte[] Id { get; init; }
/// <summary>
- /// The credential’s type.
+ /// Gets the credential’s type.
/// </summary>
+ /// <value>
+ /// The credential’s type.
+ /// </value>
+ /// <since_tizen> 12 </since_tizen>
public PubkeyCredType Type { get; init; }
/// <summary>
- /// The raw value of credential’s identifier.
+ /// Gets the credential’s raw identifier.
/// </summary>
+ /// <value>
+ /// The raw value of the credential’s identifier.
+ /// </value>
+ /// <since_tizen> 12 </since_tizen>
public byte[] RawId { get; init; }
/// <summary>
- /// Authenticator's response.
+ /// Gets the authenticator's response.
/// </summary>
+ /// <value>
+ /// The authenticator's response data.
+ /// </value>
+ /// <since_tizen> 12 </since_tizen>
public AuthenticatorAttestationResponse Response { get; init; }
/// <summary>
- /// Authenticator attachment modality.
+ /// Gets the authenticator attachment modality.
/// </summary>
+ /// <value>
+ /// The attachment modality - the usage of platform or roaming authenticators.
+ /// </value>
+ /// <since_tizen> 12 </since_tizen>
public AuthenticatorAttachment AuthenticatorAttachment { get; init; }
/// <summary>
- /// The results of processing client extensions requested by the Relying Party
- /// upon the Relying Party's invocation of MakeCredential(). (optional)
+ /// Gets the results of processing client extensions.
/// </summary>
+ /// <value>
+ /// The results of processing client extensions requested by the Relying Party
+ /// upon the Relying Party's invocation of <see cref="Authenticator.MakeCredential"/>. (optional)
+ /// </value>
+ /// <since_tizen> 12 </since_tizen>
public IEnumerable<AuthenticationExtension> Extensions { get; init; }
/// <summary>
- /// Linked Device Connection Info (optional).
- /// If not null, the caller has to store this value and use thi
- /// in the next transaction to invoke state assisted transaction.
+ /// Gets the linked Device Connection Info.
/// </summary>
+ /// <value>
+ /// The linked Device Connection Info (optional).
+ /// If not null, the caller has to store this value and use this
+ /// in the next transaction to invoke state assisted transaction.
+ /// </value>
+ /// <since_tizen> 12 </since_tizen>
public HybridLinkedData LinkedDevice { get; init; }
}
}
*/
using System.Collections.Generic;
-using static Tizen.Security.WebAuthn.ErrorFactory;
namespace Tizen.Security.WebAuthn
{
}
/// <summary>
- /// Contains a name and an identifier for the Relying Party responsible for the request.
+ /// Gets the Relying Party data.
/// </summary>
+ /// <value>
+ /// The name and identifier for the Relying Party responsible for the request.
+ /// </value>
+ /// <since_tizen> 12 </since_tizen>
public RelyingPartyEntity Rp { get; init; }
/// <summary>
- /// Contains names and an identifier for the user account performing the registration.
+ /// Gets user account data.
/// </summary>
+ /// <value>
+ /// The names and identifier for the user account performing the registration.
+ /// </value>
+ /// <since_tizen> 12 </since_tizen>
public UserEntity User { get; init; }
/// <summary>
- /// Lists the key types and signature algorithms the Relying Party supports,
- /// ordered from most preferred to least preferred.
+ /// Gets the key parameters the Relying Party supports.
/// </summary>
+ /// <value>
+ /// The key types and signature algorithms the Relying Party supports,
+ /// ordered from most preferred to least preferred.
+ /// </value>
+ /// <since_tizen> 12 </since_tizen>
public IEnumerable<PubkeyCredParam> PubkeyCredParams { get; init; }
/// <summary>
- /// Specifies a time, in milliseconds, that the Relying Party is willing to wait for the
+ /// Gets the timeout requested by the Relying Party.
+ /// </summary>
+ /// <value>
+ /// The time, in milliseconds, that the Relying Party is willing to wait for the
/// call to complete. This is treated as a hint, and MAY be overridden by the client.
/// The value, '0', means no timeout is set.
- /// </summary>
+ /// </value>
+ /// <since_tizen> 12 </since_tizen>
public ulong Timeout { get; init; }
/// <summary>
- /// Lists any existing credentials mapped to this user account (as identified by user.id).
+ /// Gets the existing credentials mapped to this user account.
/// </summary>
+ /// <value>
+ /// Any existing credentials mapped to this user account (as identified by user.id).
+ /// </value>
+ /// <since_tizen> 12 </since_tizen>
public IEnumerable<PubkeyCredDescriptor> ExcludeCredentials { get; init; }
/// <summary>
- /// Specifies capabilities and settings that the authenticator MUST or SHOULD satisfy
- /// to participate in this operation.
+ /// Gets the criteria for authenticator selection.
/// </summary>
+ /// <value>
+ /// The capabilities and settings that the authenticator MUST or SHOULD satisfy
+ /// to participate in this operation.
+ /// </value>
+ /// <since_tizen> 12 </since_tizen>
public AuthenticationSelectionCriteria AuthenticatorSelection { get; init; }
/// <summary>
+ /// Gets hints used to guide the user agent in interacting with the user.
+ /// </summary>
+ /// <value>
/// Contains zero or more elements from <see cref="PubkeyCredHint"/> to
/// guide the user agent in interacting with the user.
- /// </summary>
+ /// </value>
+ /// <since_tizen> 12 </since_tizen>
public IEnumerable<PubkeyCredHint> Hints { get; init; }
/// <summary>
- /// Specifies a preference regarding attestation conveyance.
+ /// Gets the attestation conveyance preference.
/// </summary>
+ /// <value>
+ /// Specifies a preference regarding attestation conveyance.
+ /// </value>
+ /// <since_tizen> 12 </since_tizen>
public AttestationPref Attestation { get; init; }
/// <summary>
- /// Specifies a preference regarding the attestation statement format used by the authenticator.
+ /// Gets the attestation format preference.
/// </summary>
+ /// <value>
+ /// Specifies a preference regarding the attestation statement format used by the authenticator.
+ /// </value>
+ /// <since_tizen> 12 </since_tizen>
public IEnumerable<byte[]> AttestationFormats { get; init; }
/// <summary>
- /// Client extension inputs requesting additional processing by the client and authenticator.
+ /// Gets the client extension inputs.
/// </summary>
+ /// <value>
+ /// Client extension inputs requesting additional processing by the client and authenticator.
+ /// </value>
+ /// <since_tizen> 12 </since_tizen>
public IEnumerable<AuthenticationExtension> Extensions { get; init; }
/// <summary>
- /// Linked Device Connection Info. If not null, the state assisted transaction will start.
+ /// Gets the Linked Device Connection Info.
/// </summary>
+ /// <value>
+ /// Linked Device Connection Info. If not null, the state assisted transaction will start.
+ /// </value>
+ /// <since_tizen> 12 </since_tizen>
public HybridLinkedData LinkedDevice { get; init; }
}
}
* limitations under the License
*/
-using static Tizen.Security.WebAuthn.ErrorFactory;
-
namespace Tizen.Security.WebAuthn
{
/// <summary>
/// </summary>
/// <param name="type">The type of the public key credential.</param>
/// <param name="id">The credential ID of the public key credential.</param>
- /// <param name="transport">To represent multiple transports, this enum can be ORed multiple times.</param>
+ /// <param name="transport">Transport types. To represent multiple transports, this enum can be ORed multiple times.</param>
public PubkeyCredDescriptor(PubkeyCredType type, byte[] id, AuthenticatorTransport transport)
{
Type = type;
Transport = transport;
}
/// <summary>
- /// The type of the public key credential.
+ /// Gets the type of the public key credential.
/// </summary>
+ /// <value>
+ /// The type of the public key credential.
+ /// </value>
+ /// <since_tizen> 12 </since_tizen>
public PubkeyCredType Type { get; init; }
/// <summary>
- /// The credential ID of the public key credential.
+ /// Gets the ID of the public key credential.
/// </summary>
+ /// <value>
+ /// The binary ID of the public key credential.
+ /// </value>
+ /// <since_tizen> 12 </since_tizen>
public byte[] Id { get; init; }
/// <summary>
- /// Transport types.
+ /// Gets the transport types.
/// </summary>
+ /// <value>
+ /// The transport types describing communication between the client and the authenticator.
+ /// To represent multiple transports, this enum can be ORed multiple times.
+ /// </value>
+ /// <since_tizen> 12 </since_tizen>
public AuthenticatorTransport Transport { get; init; }
}
}
Alg = alg;
}
/// <summary>
- /// Well-known credential type specifying a credential to create.
+ /// Gets the type of the credential to create.
/// </summary>
+ /// <value>
+ /// Well-known credential type specifying the credential to create.
+ /// </value>
+ /// <since_tizen> 12 </since_tizen>
public PubkeyCredType Type { get; init; }
/// <summary>
- /// Well-known COSE algorithm specifying the algorithm to use for the credential.
+ /// Gets the algotithm used for the credential.
/// </summary>
+ /// <value>
+ /// Well-known COSE algorithm specifying the algorithm to use for the credential.
+ /// </value>
+ /// <since_tizen> 12 </since_tizen>
public CoseAlgorithm Alg { get; init; }
}
}
}
/// <summary>
- /// Specifies a time, in milliseconds, that the Relying Party is willing to wait for the
+ /// Gets the timeout requested by the Relying Party.
+ /// </summary>
+ /// <value>
+ /// The time, in milliseconds, that the Relying Party is willing to wait for the
/// call to complete. This is treated as a hint, and MAY be overridden by the client.
/// The value, '0', means no timeout is set.
- /// </summary>
+ /// </value>
+ /// <since_tizen> 12 </since_tizen>
public ulong Timeout { get; init; }
/// <summary>
- /// Specifies the RP ID claimed by the Relying Party.
+ /// Gets the Relying Party ID.
/// </summary>
+ /// <value>
+ /// Specifies the RP ID claimed by the Relying Party.
+ /// </value>
+ /// <since_tizen> 12 </since_tizen>
public string RpId { get; init; }
/// <summary>
- /// Used by the client to find authenticators eligible for this authentication ceremony.
+ /// Gets the list of allowed credentials.
/// </summary>
+ /// <value>
+ /// Used by the client to find authenticators eligible for this authentication ceremony.
+ /// The list is ordered in descending order of preference.
+ /// </value>
+ /// <since_tizen> 12 </since_tizen>
public IEnumerable<PubkeyCredDescriptor> AllowCredentials { get; init; }
/// <summary>
- /// Specifies the Relying Party's requirements regarding user verification for the GetAssertion() operation.
+ /// Gets the user verification requirements.
/// </summary>
+ /// <value>
+ /// The Relying Party's requirements regarding user verification for the
+ /// <see cref="Authenticator.GetAssertion"/> operation.
+ /// </value>
+ /// <since_tizen> 12 </since_tizen>
public UserVerificationRequirement UserVerification { get; init; }
/// <summary>
+ /// Gets hints used to guide the user agent in interacting with the user.
+ /// </summary>
+ /// <value>
/// Contains zero or more elements from <see cref="PubkeyCredHint"/> to
/// guide the user agent in interacting with the user.
- /// </summary>
+ /// </value>
+ /// <since_tizen> 12 </since_tizen>
public IEnumerable<PubkeyCredHint> Hints { get; init; }
/// <summary>
- /// Specifies a preference regarding attestation conveyance.
+ /// Gets the attestation conveyance preference.
/// </summary>
+ /// <value>
+ /// Specifies a preference regarding attestation conveyance.
+ /// </value>
+ /// <since_tizen> 12 </since_tizen>
public AttestationPref Attestation { get; init; }
/// <summary>
- /// Specifies a preference regarding the attestation statement format used by the authenticator.
+ /// Gets the attestation format preference.
/// </summary>
+ /// <value>
+ /// Specifies a preference regarding the attestation statement format used by the authenticator.
+ /// </value>
+ /// <since_tizen> 12 </since_tizen>
public IEnumerable<byte[]> AttestationFormats { get; init; }
/// <summary>
- /// Client extension inputs requesting additional processing by the client and authenticator.
+ /// Gets the client extension inputs.
/// </summary>
+ /// <value>
+ /// Client extension inputs requesting additional processing by the client and authenticator.
+ /// </value>
+ /// <since_tizen> 12 </since_tizen>
public IEnumerable<AuthenticationExtension> Extensions { get; init; }
/// <summary>
- /// Linked Device Connection Info. If not null, the state assisted transaction will start.
+ /// Gets the Linked Device Connection Info.
/// </summary>
+ /// <value>
+ /// Linked Device Connection Info. If not null, the state assisted transaction will start.
+ /// </value>
+ /// <since_tizen> 12 </since_tizen>
public HybridLinkedData LinkedDevice { get; init; }
}
}
\ No newline at end of file
/// Initializes a new instance of the <see cref="RelyingPartyEntity"/> class.
/// </summary>
/// <since_tizen> 12 </since_tizen>
- /// <param name="name">The name of RP.</param>
- /// <param name="id">The RPID.</param>
+ /// <param name="name">The name of the Relying Party.</param>
+ /// <param name="id">The ID of the Relying Party.</param>
public RelyingPartyEntity(string name, string id)
{
Name = name;
}
/// <summary>
- /// The name of RP.
+ /// Gets the name of the Relying Party.
/// </summary>
+ /// <value>
+ /// The name of the Relying Party.
+ /// </value>
+ /// <since_tizen> 12 </since_tizen>
public string Name { get; init; }
/// <summary>
- /// The RPID.
+ /// Gets the ID of the Relying Party.
/// </summary>
+ /// <value>
+ /// The ID of the Relying Party.
+ /// </value>
+ /// <since_tizen> 12 </since_tizen>
public string Id { get; init; }
}
}
* limitations under the License
*/
-using static Tizen.Security.WebAuthn.ErrorFactory;
-
namespace Tizen.Security.WebAuthn
{
/// <summary>
}
/// <summary>
- /// A human-palatable name for the entity.
+ /// Gets the name of the user entity.
/// </summary>
+ /// <value>
+ /// A human-palatable name for the entity.
+ /// </value>
+ /// <since_tizen> 12 </since_tizen>
public string Name { get; init; }
/// <summary>
- /// The ID of the user account.
+ /// Gets the user ID.
/// </summary>
+ /// <value>
+ /// The ID of the user account.
+ /// </value>
+ /// <since_tizen> 12 </since_tizen>
public byte[] Id { get; init; }
/// <summary>
- /// A human-palatable name for the user account, intended only for display.
+ /// Gets the dispay name of the user entity.
/// </summary>
+ /// <value>
+ /// A human-palatable name for the user account, intended only for display.
+ /// </value>
+ /// <since_tizen> 12 </since_tizen>
public string DisplayName { get; init; }
}
}