我是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样本的链接。我认为您会发现它可以作为一个跳跃点。