WebAccountProvider.IsSystemProvider 属性

定义

获取值,该值描述给定 ID 提供程序是否支持系统范围的身份验证令牌。

public:
 property bool IsSystemProvider { bool get(); };
bool IsSystemProvider();
public bool IsSystemProvider { get; }
var boolean = webAccountProvider.isSystemProvider;
Public ReadOnly Property IsSystemProvider As Boolean

属性值

Boolean

bool

如此 如果 WebAccountProvider 允许系统范围的身份验证令牌。 否则 为 False

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); 
    }     
} 

注解

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

适用于