WebAuthenticationCoreManager.FindSystemAccountProviderAsync 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
多載
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 引進)
|