UserConsentVerifier Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Verifica la disponibilità di un dispositivo di verifica ,ad esempio un PIN di Microsoft Passport, Windows Hello biometrico o lettore di impronte digitali, ed esegue una verifica.
public ref class UserConsentVerifier abstract sealed
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class UserConsentVerifier final
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public static class UserConsentVerifier
Public Class UserConsentVerifier
- Ereditarietà
- Attributi
Requisiti Windows
Famiglia di dispositivi |
Windows 10 (è stato introdotto in 10.0.10240.0)
|
API contract |
Windows.Foundation.UniversalApiContract (è stato introdotto in v1.0)
|
Esempio
App desktop con C#
Per un'app desktop, invece di chiamare il metodo UserConsentVerifier.RequestVerificationAsync , è necessario:
- Recuperare prima di tutto un handle di finestra (HWND). Questo argomento contiene esempi di codice per Windows UI Library (WinUI) 3, Windows Presentation Foundation (WPF) e Windows Forms (WinForms). Inserire il codice nell'elenco di codice riportato di seguito.
- Chiamare quindi il metodo RequestVerificationForWindowAsync della classe di interoperabilità Windows.Security.Credentials.UI.UserConsentVerifierInterop C#. Per altre informazioni sulle classi di interoperabilità C#, vedere Chiamare le API di interoperabilità da un'app .NET. Vedi anche Visualizzare gli oggetti dell'interfaccia utente WinRT che dipendono da CoreWindow.
private async System.Threading.Tasks.Task<string> RequestConsent(string userMessage)
{
string returnMessage;
if (String.IsNullOrEmpty(userMessage))
{
userMessage = "Please provide fingerprint verification.";
}
try
{
// Retrieve the window handle by passing a reference to the WinUI 3 window object
var hwnd = ...
// Request the logged on user's consent via fingerprint swipe using the interop interface
var consentResult = await Windows.Security.Credentials.UI.UserConsentVerifierInterop.RequestVerificationForWindowAsync(hwnd, userMessage);
switch (consentResult)
{
case Windows.Security.Credentials.UI.UserConsentVerificationResult.Verified:
returnMessage = "Fingerprint verified.";
break;
case Windows.Security.Credentials.UI.UserConsentVerificationResult.DeviceBusy:
returnMessage = "Biometric device is busy.";
break;
case Windows.Security.Credentials.UI.UserConsentVerificationResult.DeviceNotPresent:
returnMessage = "No biometric device found.";
break;
case Windows.Security.Credentials.UI.UserConsentVerificationResult.DisabledByPolicy:
returnMessage = "Biometric verification is disabled by policy.";
break;
case Windows.Security.Credentials.UI.UserConsentVerificationResult.NotConfiguredForUser:
returnMessage = "The user has no fingerprints registered. Please add a fingerprint to the " +
"fingerprint database and try again.";
break;
case Windows.Security.Credentials.UI.UserConsentVerificationResult.RetriesExhausted:
returnMessage = "There have been too many failed attempts. Fingerprint authentication canceled.";
break;
case Windows.Security.Credentials.UI.UserConsentVerificationResult.Canceled:
returnMessage = "Fingerprint authentication canceled.";
break;
default:
returnMessage = "Fingerprint authentication is currently unavailable.";
break;
}
}
catch (Exception ex)
{
returnMessage = "Fingerprint authentication failed: " + ex.ToString();
}
return returnMessage;
}
app piattaforma UWP (Universal Windows Platform) (UWP) con C#
Questo esempio di codice è per un'app piattaforma UWP (Universal Windows Platform) (UWP). Mostra una richiesta di verifica dell'impronta digitale seguita dalla restituzione di un messaggio che descrive il risultato. Il codice chiama il metodo UserConsentVerifier.RequestVerificationAsync , appropriato per le app UWP.
private async System.Threading.Tasks.Task<string> RequestConsent(string userMessage)
{
string returnMessage;
if (String.IsNullOrEmpty(userMessage))
{
userMessage = "Please provide fingerprint verification.";
}
try
{
// Request the logged on user's consent via fingerprint swipe.
var consentResult = await Windows.Security.Credentials.UI.UserConsentVerifier.RequestVerificationAsync(userMessage);
switch (consentResult)
{
case Windows.Security.Credentials.UI.UserConsentVerificationResult.Verified:
returnMessage = "Fingerprint verified.";
break;
case Windows.Security.Credentials.UI.UserConsentVerificationResult.DeviceBusy:
returnMessage = "Biometric device is busy.";
break;
case Windows.Security.Credentials.UI.UserConsentVerificationResult.DeviceNotPresent:
returnMessage = "No biometric device found.";
break;
case Windows.Security.Credentials.UI.UserConsentVerificationResult.DisabledByPolicy:
returnMessage = "Biometric verification is disabled by policy.";
break;
case Windows.Security.Credentials.UI.UserConsentVerificationResult.NotConfiguredForUser:
returnMessage = "The user has no fingerprints registered. Please add a fingerprint to the " +
"fingerprint database and try again.";
break;
case Windows.Security.Credentials.UI.UserConsentVerificationResult.RetriesExhausted:
returnMessage = "There have been too many failed attempts. Fingerprint authentication canceled.";
break;
case Windows.Security.Credentials.UI.UserConsentVerificationResult.Canceled:
returnMessage = "Fingerprint authentication canceled.";
break;
default:
returnMessage = "Fingerprint authentication is currently unavailable.";
break;
}
}
catch (Exception ex)
{
returnMessage = "Fingerprint authentication failed: " + ex.ToString();
}
return returnMessage;
}
Commenti
Puoi usare UserConsentVerifier per migliorare la sicurezza dell'app includendo una richiesta di verifica ogni volta che l'utente deve fornire il consenso a una determinata azione. Ad esempio, è possibile richiedere l'autenticazione con impronta digitale prima di autorizzare un acquisto in-app o l'accesso alle risorse con restrizioni. È possibile utilizzare UserConsentVerifier per determinare se l'autenticazione con impronta digitale è supportata per il computer corrente usando il metodo CheckAvailabilityAsync e quindi richiedere il consenso dell'utente da un'analisi delle impronte digitali usando il metodo RequestVerificationAsync .
Metodi
CheckAvailabilityAsync() |
Verifica se è disponibile un dispositivo di verifica, ad esempio un PIN di Microsoft Passport, un Windows Hello o un lettore di impronte digitali. |
RequestVerificationAsync(String) |
Esegue una verifica usando un dispositivo, ad esempio PIN di Microsoft Passport, Windows Hello o un lettore di impronte digitali. Questa API è destinata alle app piattaforma UWP (Universal Windows Platform) (UWP). L'API alternativa da usare per un'app desktop è descritta in Esempi nella classe UserConsentVerifier. |
Si applica a
Vedi anche
- Windows.Security.Credentials.UI
- Recuperare un handle di finestra (HWND)
- Chiamare le API di interoperabilità da un'app .NET
- Visualizzare oggetti dell'interfaccia utente WinRT che dipendono da CoreWindow
- Biometria con impronta digitale
- Esempio userConsentVerifier
- Autenticazione e identità utente
- Esempio UserConsentVerifier (Windows 10)
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: Nel corso del 2024 verranno gradualmente disattivati i problemi di GitHub come meccanismo di feedback per il contenuto e ciò verrà sostituito con un nuovo sistema di feedback. Per altre informazioni, vedereInvia e visualizza il feedback per