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 帐户提供程序的 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 中引入)
|