共用方式為


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 帳戶提供者識別碼。

傳回

非同步尋找作業。 成功完成時,包含代表找到的 Web 帳戶提供者的 WebAccountProvider 物件。

屬性

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 帳戶提供者識別碼。

authority
String

Platform::String

winrt::hstring

要尋找之 Web 帳戶提供者的授權單位。

傳回

非同步尋找作業。 成功完成時,包含代表找到的 Web 帳戶提供者的 WebAccountProvider 物件。

屬性

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) 允許全裝置權杖;其他識別碼提供者則不行。

另請參閱

適用於

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 帳戶提供者識別碼。

authority
String

Platform::String

winrt::hstring

要尋找之 Web 帳戶提供者的授權單位。

user
User

與要尋找之 Web 帳戶提供者相關聯的使用者。

傳回

非同步尋找作業。 成功完成時,包含代表找到的 Web 帳戶提供者的 WebAccountProvider 物件。

屬性

Windows 需求

裝置系列
Windows 10, version 1803 (已於 10.0.17134.0 引進)
API contract
Windows.Foundation.UniversalApiContract (已於 v6.0 引進)

適用於