xamarin.forms - 无法使用正确的设置访问 AzureAD 中的公司租户
问题描述
我在 AzureAD 中有一个付费帐户。
使用带有以下代码的 Xamarin 表单:
我能够显示登录页面并能够输入我的电子邮件地址。
问题:
当我在添加电子邮件地址后单击下一步按钮时,我被带到此页面:将您带到您组织的登录页面但活动指示器保持在无限循环......没有返回。
更新
我在 2 部 Droid 手机上进行了测试。
A_phone 与 Android 版本 8.0 ,这项工作很快。后来我在手机中删除它并从VS2017重新部署到手机以确保工作。但是重新部署后,它现在无法正常工作。现在 B_phone 与 Android 版本 4.3,此显示网页不可用。为什么 B_Phone 不工作?
为什么会这样?
public static string ApplicationID = "xxxx-xxxx-xxxx-xxxx-xxxx";
public static string tenanturl = "https://login.microsoftonline.com/xxxx-xxxx-xxxx-xxxx-xxxxx";
public static string ReturnUri = "http://appname";
public static string GraphResourceUri = "https://graph.microsoft.com";
public static AuthenticationResult AuthenticationResult = null;
private async void Login_OnClicked(object sender, EventArgs e)
{
try
{
var data = await DependencyService.Get<IAuthenticator>()
.Authenticate(App.tenanturl, App.GraphResourceUri, App.ApplicationID, App.ReturnUri);
if (data != null)
{
App.AuthenticationResult = data;
NavigateTopage(data);
}
}
catch(Exception)
{ }
}
class Authenticator : IAuthenticator
{
public async Task<AuthenticationResult> Authenticate(string tenantUrl, string graphResourceUri, string ApplicationID, string returnUri)
{
try
{
var authContext = new AuthenticationContext(tenantUrl);
if (authContext.TokenCache.ReadItems().Any())
authContext = new AuthenticationContext(authContext.TokenCache.ReadItems().FirstOrDefault().Authority);
var authResult = await authContext.AcquireTokenAsync(graphResourceUri, ApplicationID, new Uri(returnUri), new PlatformParameters((Activity)Forms.Context));
return authResult;
}
catch(Exception)
{
return null;
}
}
}
请帮忙。你的帮助对我很重要。
谢谢
解决方案
确保您的回复 URL 是您的主页 URL,并且您的配置中的重定向 URI 与您的应用注册中的内容相匹配。还要验证配置中的客户端 ID 是否与应用程序中的应用 ID 匹配。您可以添加 else 语句以确保即使用户未通过身份验证也可以导航到某处。
推荐阅读
- c# - 向我的 WebAPI 添加了第二个控制器,但它不工作
- keras - Keras 用面具冻结特定的权重
- asp.net-mvc - 如何使用 Asp.net MVC Json 保存多条记录表
- c# - 捕获插入的行并返回到客户端应用程序
- python - 从多个线程访问 PyQt4 接口
- python-3.x - Windows 中的 Tthis 代码
- python - How to flatten a Pandas dataframe json field that sometimes contains a list and sometimes a value
- visual-studio - 项目 * 需要部署才能启动
- excel - 将数据从一个工作表复制到另一个工作簿,但出现一些超出范围的错误
- nasm - 获取 VBE 信息