AcquireTokenAsync不返回呼叫OnActiverEsult



我是Xamarin的新手,并且有一个示例Windows桌面应用Active Directory身份验证的应用程序,我正在尝试在Xamarin Android中创建该验证。我正在使用Xamarin NetStandard 2.0项目。我试图在.netstandard 2.0中为Adal示例应用程序找到太多,但我得到的只是便携式Xamarin应用。

以下是我的代码 -

 protected async override void OnCreate(Bundle savedInstanceState)
 {
     base.OnCreate(savedInstanceState);
     SetContentView(Resource.Layout.Main);
     Button btnActivate = FindViewById<Button>(Resource.Id.btnActivate);
     if (btnActivate != null)
     {
         btnActivate.Click +=  (object sender, EventArgs e) =>
         {
              btnActivate_Click(sender, e);
              FindViewById<Button>(Resource.Id.btnActivate).Visibility = ViewStates.Gone;
         };
     }
 }
private async void btnActivate_Click(object sender, EventArgs e)
{
    try
    {
        var context = new AuthenticationContext(commonAuthority);
        if (context.TokenCache.ReadItems().Count() > 0)
            context = new AuthenticationContext(context.TokenCache.ReadItems().First().Authority);
            result = await context.AcquireTokenAsync(
                graphResourceUri,
                clientId,
                new Uri("urn:ietf:wg:-Oauth:2.0:-Oob"),
                new PlatformParameters(this), 
                UserIdentifier.AnyUser, 
                "nux=1");
     }
     catch (Exception ex)
     {
          //this.mainForm.Log(ex.ToString());
     }
}
protected override void OnActivityResult(int requestCode, Result resultCode, Intent data)
{    base.OnActivityResult(requestCode, resultCode, data);
    AuthenticationAgentContinuationHelper.SetAuthenticationAgentContinuationEventArgs(requestCode, resultCode, data);
}

上面是我使用的代码用于主动验证身份验证,我能够查看Microsoft的登录页面,但是在应用凭据和签名之后,我没有得到任何响应,执行均未用于OnActivityResult Mehtod。

正如我所说的我是Xamarin的新手,对此的了解很少,请帮助我知道我是否缺少任何东西。

还有一件事,请注意,上面的代码使用NetStandard 2.0库。

任何帮助都将不胜感激。

这是使用ADAL进行身份验证的Xamarin样本的链接。我认为您会发现它可以作为一个跳跃点。

最新更新