UserConsentVerifier Classe
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Vérifie la disponibilité d’un appareil de vérification (par exemple, un code confidentiel Microsoft Passport, Windows Hello biométrique ou un lecteur d’empreintes digitales) et effectue une vérification.
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
- Héritage
- Attributs
Configuration requise pour Windows
Famille d’appareils |
Windows 10 (introduit dans 10.0.10240.0)
|
API contract |
Windows.Foundation.UniversalApiContract (introduit dans v1.0)
|
Exemples
Applications de bureau utilisant C#
Pour une application de bureau, au lieu d’appeler la méthode UserConsentVerifier.RequestVerificationAsync , vous devez :
- Commencez par récupérer un handle de fenêtre (HWND). Cette rubrique contient des exemples de code pour la bibliothèque d’interface utilisateur Windows (WinUI) 3, Windows Presentation Foundation (WPF) et Windows Forms (WinForms). Branchez ce code dans la liste de code ci-dessous.
- Appelez ensuite la méthode RequestVerificationForWindowAsync de la classe d’interopérabilité C# Windows.Security.Credentials.UI.UserConsentVerifierInterop . Pour plus d’informations sur les classes d’interopérabilité C#, consultez Appeler des API d’interopérabilité à partir d’une application .NET. Consultez également Afficher les objets d’interface utilisateur WinRT qui dépendent de CoreWindow.
private async System.Threading.Tasks.Task<string> RequestConsent(string userMessage)
{
string returnMessage;
// Retrieve the window handle of the current WinUI 3 window.
var hwnd = WinRT.Interop.WindowNative.GetWindowHandle(this);
// Use the interop interface to request the logged on user's consent via device authentication
var consentResult = await Windows.Security.Credentials.UI.UserConsentVerifierInterop.RequestVerificationForWindowAsync(hwnd, userMessage);
switch (consentResult)
{
case Windows.Security.Credentials.UI.UserConsentVerificationResult.Verified:
returnMessage = "User verified.";
break;
case Windows.Security.Credentials.UI.UserConsentVerificationResult.DeviceBusy:
returnMessage = "Authentication device is busy.";
break;
case Windows.Security.Credentials.UI.UserConsentVerificationResult.DeviceNotPresent:
returnMessage = "No authentication device found.";
break;
case Windows.Security.Credentials.UI.UserConsentVerificationResult.DisabledByPolicy:
returnMessage = "Authentication device verification is disabled by policy.";
break;
case Windows.Security.Credentials.UI.UserConsentVerificationResult.NotConfiguredForUser:
returnMessage = "Please go to Account Settings to set up PIN or other advanced authentication.";
break;
case Windows.Security.Credentials.UI.UserConsentVerificationResult.RetriesExhausted:
returnMessage = "There have been too many failed attempts. Device authentication canceled.";
break;
case Windows.Security.Credentials.UI.UserConsentVerificationResult.Canceled:
returnMessage = "Device authentication canceled.";
break;
default:
returnMessage = "Authentication device is currently unavailable.";
break;
}
return returnMessage;
}
plateforme Windows universelle applications (UWP) à l’aide de C#
Cet exemple de code concerne une application plateforme Windows universelle (UWP). Il affiche une demande de vérification par empreinte digitale suivie d’un message décrivant le résultat. Le code appelle la méthode UserConsentVerifier.RequestVerificationAsync , qui est appropriée pour les applications UWP.
private async System.Threading.Tasks.Task<string> RequestConsent(string userMessage)
{
string returnMessage;
// Request the logged on user's consent via authentication device.
var consentResult = await Windows.Security.Credentials.UI.UserConsentVerifier.RequestVerificationAsync(userMessage);
switch (consentResult)
{
case Windows.Security.Credentials.UI.UserConsentVerificationResult.Verified:
returnMessage = "User verified.";
break;
case Windows.Security.Credentials.UI.UserConsentVerificationResult.DeviceBusy:
returnMessage = "Authentication device is busy.";
break;
case Windows.Security.Credentials.UI.UserConsentVerificationResult.DeviceNotPresent:
returnMessage = "No authentication device found.";
break;
case Windows.Security.Credentials.UI.UserConsentVerificationResult.DisabledByPolicy:
returnMessage = "Authentication device verification is disabled by policy.";
break;
case Windows.Security.Credentials.UI.UserConsentVerificationResult.NotConfiguredForUser:
returnMessage = "Please go to Account Settings to set up PIN or other advanced authentication.";
break;
case Windows.Security.Credentials.UI.UserConsentVerificationResult.RetriesExhausted:
returnMessage = "There have been too many failed attempts. Device authentication canceled.";
break;
case Windows.Security.Credentials.UI.UserConsentVerificationResult.Canceled:
returnMessage = "Device authentication canceled.";
break;
default:
returnMessage = "Authentication device is currently unavailable.";
break;
}
return returnMessage;
}
Applications de bureau utilisant C++/WinRT
Pour une application de bureau, au lieu d’appeler la méthode UserConsentVerifier.RequestVerificationAsync , vous devez :
- Tout d’abord, obtenez le handle dans la fenêtre qui demandera la vérification. Consultez Récupérer un handle de fenêtre (HWND) pour plus d’informations sur la façon de procéder pour la bibliothèque d’interface utilisateur Windows (WinUI) 3.
- Obtenez la fabrique d’activation pour l’objet Windows.Security.Credentials.UI.UserConsentVerifier .
- Appelez la méthode RequestVerificationForWindowAsync de l’interface d’interopérabilité IUserConsentVerifierInterop .
winrt::Windows::Foundation::IAsyncOperation<winrt::hstring> MainWindow::RequestConsent(winrt::hstring userMessage)
{
auto lifetime = get_strong();
winrt::hstring returnMessage;
// Retrieve the window handle of the current WinUI 3 window.
HWND hwnd;
winrt::check_hresult(m_inner->as<::IWindowNative>()->get_WindowHandle(&hwnd));
// Use the interop interface to request the logged on user's consent via device authentication
auto interop = winrt::get_activation_factory<winrt::Windows::Security::Credentials::UI::UserConsentVerifier, ::IUserConsentVerifierInterop>();
auto consentResult =
co_await winrt::capture<winrt::Windows::Foundation::IAsyncOperation<winrt::Windows::Security::Credentials::UI::UserConsentVerificationResult>>(
interop, &::IUserConsentVerifierInterop::RequestVerificationForWindowAsync, hwnd, reinterpret_cast<HSTRING>(winrt::get_abi(userMessage))));
switch (consentResult)
{
case winrt::Windows::Security::Credentials::UI::UserConsentVerificationResult::Verified:
returnMessage = L"User verified.";
break;
case winrt::Windows::Security::Credentials::UI::UserConsentVerificationResult::DeviceBusy:
returnMessage = L"Authentication device is busy.";
break;
case winrt::Windows::Security::Credentials::UI::UserConsentVerificationResult::DeviceNotPresent:
returnMessage = L"No authentication device found.";
break;
case winrt::Windows::Security::Credentials::UI::UserConsentVerificationResult::DisabledByPolicy:
returnMessage = L"Authentication device verification is disabled by policy.";
break;
case winrt::Windows::Security::Credentials::UI::UserConsentVerificationResult::NotConfiguredForUser:
returnMessage = L"Please go to Account Settings to set up PIN or other advanced authentication.";
break;
case winrt::Windows::Security::Credentials::UI::UserConsentVerificationResult::RetriesExhausted:
returnMessage = L"There have been too many failed attempts. Device authentication canceled.";
break;
case winrt::Windows::Security::Credentials::UI::UserConsentVerificationResult::Canceled:
returnMessage = L"Device authentication canceled.";
break;
default:
returnMessage = L"Authentication device is currently unavailable.";
break;
}
co_return returnMessage;
}
Remarques
Vous pouvez utiliser UserConsentVerifier pour améliorer la sécurité de votre application en incluant une demande de vérification chaque fois que l’utilisateur doit consentir à une action particulière. Par exemple, vous pouvez exiger l’authentification par empreinte digitale avant d’autoriser un achat in-app ou l’accès à des ressources restreintes. Vous pouvez utiliser UserConsentVerifier pour déterminer si l’authentification par empreinte digitale est prise en charge pour l’ordinateur actuel à l’aide de la méthode CheckAvailabilityAsync , puis demander le consentement de l’utilisateur à partir d’une analyse d’empreinte digitale à l’aide de la méthode RequestVerificationAsync .
Méthodes
CheckAvailabilityAsync() |
Vérifie si un appareil d’authentification, tel qu’un code confidentiel Microsoft Passport, un Windows Hello ou un lecteur d’empreintes digitales, est disponible. |
RequestVerificationAsync(String) |
Effectue une vérification à l’aide d’un appareil d’authentification tel que le code confidentiel Microsoft Passport, Windows Hello ou un lecteur d’empreintes digitales. Cette API est destinée aux applications plateforme Windows universelle (UWP). L’AUTRE API à utiliser pour une application de bureau est décrite dans Exemples dans la classe UserConsentVerifier. |
S’applique à
Voir aussi
- Windows.Security.Credentials.UI
- Récupérer un handle de fenêtre (HWND)
- Appeler des API d’interopérabilité à partir d’une application .NET
- Afficher les objets d’interface utilisateur WinRT qui dépendent de CoreWindow
- Empreinte digitale biométrique
- Exemple UserConsentVerifier
- Authentification et identité des utilisateurs
- Exemple UserConsentVerifier (Windows 10)