首页 > 解决方案 > ADAL 错误消息:MainActivity 不包含 Instance 的定义

问题描述

我正在使用 ADAL 从 AzureAD 访问令牌。Forms.Context 已过时。所以尝试以下但有以下错误消息。如何解决?

改变这个:

var platformParams = new PlatformParameters((Activity)Forms.Context);

对此:

var platformParams = new PlatformParameters(MainActivity.Instance, true, PromptBehavior.Always);

错误信息:

MainActivity 不包含 Instance 的定义

public class AuthenticationService:IAuthenticationService

{

public async Task<AuthenticationResult> Authenticate(string authority, string resource, string clientId, string returnUri)
        {

var authContext = new AuthenticationContext(authority);


if (authContext.TokenCache.ReadItems().Any())


authContext = new AuthenticationContext(authContext.TokenCache.ReadItems().First().Authority);


var uri = new Uri(returnUri);


//var platformParams = new PlatformParameters((Activity)Forms.Context);


var platformParams = new PlatformParameters(MainActivity.Instance, true, PromptBehavior.Always);


var authResult = await authContext.AcquireTokenAsync(resource, clientId, uri, platformParams);


return authResult;

}

}

谢谢

标签: xamarin.formsazure-active-directoryadal

解决方案


推荐阅读