WebAuthenticationCoreManager.FindSystemAccountProviderAsync 方法

定义

重载

FindSystemAccountProviderAsync(String)

异步尝试查找用于设备范围的身份验证的 Web 帐户提供程序。

FindSystemAccountProviderAsync(String, String)

异步尝试查找用于设备范围的身份验证的 Web 帐户提供程序。

FindSystemAccountProviderAsync(String, String, User)

异步尝试查找用于设备范围的身份验证的 Web 帐户提供程序。

FindSystemAccountProviderAsync(String)

异步尝试查找用于设备范围的身份验证的 Web 帐户提供程序。

public:
 static IAsyncOperation<WebAccountProvider ^> ^ FindSystemAccountProviderAsync(Platform::String ^ webAccountProviderId);
/// [Windows.Foundation.Metadata.Overload("FindSystemAccountProviderAsync")]
/// [Windows.Foundation.Metadata.RemoteAsync]
 static IAsyncOperation<WebAccountProvider> FindSystemAccountProviderAsync(winrt::hstring const& webAccountProviderId);
[Windows.Foundation.Metadata.Overload("FindSystemAccountProviderAsync")]
[Windows.Foundation.Metadata.RemoteAsync]
public static IAsyncOperation<WebAccountProvider> FindSystemAccountProviderAsync(string webAccountProviderId);
function findSystemAccountProviderAsync(webAccountProviderId)
Public Shared Function FindSystemAccountProviderAsync (webAccountProviderId As String) As IAsyncOperation(Of WebAccountProvider)

参数

webAccountProviderId
String

Platform::String

winrt::hstring

要查找的 Web 帐户提供程序的 ID。

返回

异步查找操作。 成功完成后,包含一个 WebAccountProvider 对象,该对象表示找到的 Web 帐户提供程序。

属性

Windows 要求

设备系列
Windows 10, version 1803 (在 10.0.17134.0 中引入)
API contract
Windows.Foundation.UniversalApiContract (在 v6.0 中引入)

适用于

FindSystemAccountProviderAsync(String, String)

异步尝试查找用于设备范围的身份验证的 Web 帐户提供程序。

public:
 static IAsyncOperation<WebAccountProvider ^> ^ FindSystemAccountProviderAsync(Platform::String ^ webAccountProviderId, Platform::String ^ authority);
/// [Windows.Foundation.Metadata.Overload("FindSystemAccountProviderWithAuthorityAsync")]
/// [Windows.Foundation.Metadata.RemoteAsync]
 static IAsyncOperation<WebAccountProvider> FindSystemAccountProviderAsync(winrt::hstring const& webAccountProviderId, winrt::hstring const& authority);
[Windows.Foundation.Metadata.Overload("FindSystemAccountProviderWithAuthorityAsync")]
[Windows.Foundation.Metadata.RemoteAsync]
public static IAsyncOperation<WebAccountProvider> FindSystemAccountProviderAsync(string webAccountProviderId, string authority);
function findSystemAccountProviderAsync(webAccountProviderId, authority)
Public Shared Function FindSystemAccountProviderAsync (webAccountProviderId As String, authority As String) As IAsyncOperation(Of WebAccountProvider)

参数

webAccountProviderId
String

Platform::String

winrt::hstring

要查找的 Web 帐户提供程序的 ID。

authority
String

Platform::String

winrt::hstring

要查找的 Web 帐户提供程序的颁发机构。

返回

异步查找操作。 成功完成后,包含一个 WebAccountProvider 对象,该对象表示找到的 Web 帐户提供程序。

属性

Windows 要求

设备系列
Windows 10, version 1803 (在 10.0.17134.0 中引入)
API contract
Windows.Foundation.UniversalApiContract (在 v6.0 中引入)

示例

下面是这种设备范围令牌检索的特殊情况的示例。

// create a WebTokenRequest with device-wide authentication
WebTokenRequest CreateWebTokenRequestForAad(WebAccountProvider provider){
    // check if the ID provider allows system-wide scope, and construct token request accordingly:
    return new WebTokenRequest(
        provider,
        provider.IsSystemProvider ? "systemInfo" : "userInfo",
        "<InsertClientID>");
    )
}

// retrieve a device-wide auth token for Azure Active Directory
string GetAadToken() {
    var provider = WebAuthenticationCoreManager.FindSystemAccountProviderAsync(
        "https://login.microsoft.com","organizations");
    var request = CreateWebTokenRequestForAad(provider);
    var result = WebAuthenticationCoreManager.GetTokenSilentlyAsync(request);

    // handle the request result in the usual way.
    if (result.ResponseStatus == WebTokenRequestStatus.Success){ 
        return result.ResponseData[0].Token; 
    } else { 
        throw new Exception(result.ResponseError.ErrorMessage); 
    }     
} 

注解

设备令牌功能适用于服务需要在用户登录到设备之前连接到云资源的情况 (例如,在具有 System Center Configuration Manager (SCCM) 策略的现成体验中,必须立即) 应用策略。 只有 Xbox、MSA、AAD) (第一方 ID 提供商允许设备范围的令牌;其他 ID 提供程序不会。

另请参阅

适用于

FindSystemAccountProviderAsync(String, String, User)

异步尝试查找用于设备范围的身份验证的 Web 帐户提供程序。

public:
 static IAsyncOperation<WebAccountProvider ^> ^ FindSystemAccountProviderAsync(Platform::String ^ webAccountProviderId, Platform::String ^ authority, User ^ user);
/// [Windows.Foundation.Metadata.Overload("FindSystemAccountProviderWithAuthorityForUserAsync")]
/// [Windows.Foundation.Metadata.RemoteAsync]
 static IAsyncOperation<WebAccountProvider> FindSystemAccountProviderAsync(winrt::hstring const& webAccountProviderId, winrt::hstring const& authority, User const& user);
[Windows.Foundation.Metadata.Overload("FindSystemAccountProviderWithAuthorityForUserAsync")]
[Windows.Foundation.Metadata.RemoteAsync]
public static IAsyncOperation<WebAccountProvider> FindSystemAccountProviderAsync(string webAccountProviderId, string authority, User user);
function findSystemAccountProviderAsync(webAccountProviderId, authority, user)
Public Shared Function FindSystemAccountProviderAsync (webAccountProviderId As String, authority As String, user As User) As IAsyncOperation(Of WebAccountProvider)

参数

webAccountProviderId
String

Platform::String

winrt::hstring

要查找的 Web 帐户提供程序的 ID。

authority
String

Platform::String

winrt::hstring

要查找的 Web 帐户提供程序的颁发机构。

user
User

与要查找的 Web 帐户提供程序关联的用户。

返回

异步查找操作。 成功完成后,包含一个 WebAccountProvider 对象,该对象表示找到的 Web 帐户提供程序。

属性

Windows 要求

设备系列
Windows 10, version 1803 (在 10.0.17134.0 中引入)
API contract
Windows.Foundation.UniversalApiContract (在 v6.0 中引入)

适用于