Azure ADAL with Xamarin,无管理员同意错误

时间:2016-06-26 17:36:01

标签: azure xamarin azure-active-directory adal

我认为这应该是一个简单的修复,但我已经看了几个小时。我使用ADAL与Xamarin一起下载了this样本,我只是试图让它在UWP项目中按预期工作。

我很确定我的问题出在我的Azure门户配置中,因为我已正确更改了示例中的值。这是我在Azure门户中所做的事情

  1. 制作活动目录
  2. 在该目录中为原生应用程序创建了一个应用程序
  3. 配置这些权限并立即授予所有权限 - Windows Azure Active Directory,Microsoft Graph,Windows Azure服务管理,Office 365管理API
  4. 在应用程序中,登录后,该应用程序发布AADSTSTS65001,用户或管理员未同意使用ID为{id}的应用程序 - 但我实际上从未得到同意提示,而且我已经是活动目录中的用户。
  5. 有什么想法吗?

3 个答案:

答案 0 :(得分:0)

构建Msal之后是受支持的库,用于处理广告身份验证。因此,对于xamarin,您可以查看最新库的samples

答案 1 :(得分:0)

同意仅在每个用户被触发一次(除非执行管理员同意,在这种情况下它根本不会显示给用户)。

一旦获得同意,对应用所需权限的任何更改都不会自动添加到现有同意中,系统也不会再次提示用户同意。

我怀疑这可能是你的情况,基本上你开始将你的应用程序设置为所需的基本权限,运行应用程序并同意。然后你添加了更多的权限,其中一些需要管理员同意,并运行应用程序。因为您已经同意,所以不会再次提示您,但初始同意不包括这些新权限,因此您会收到错误。

您应该可以通过访问面板删除现有的同意:

  1. 转到https://myapps.microsoft.com
  2. 找到您的应用并点击...
  3. 选择删除。
  4. 注意:您也可以通过Graph执行此操作,但需要详细说明。

答案 2 :(得分:0)

如果这是一次性问题,还可以通过浏览器手动触发同意。

https://login.microsoftonline.com/<tenant>/oauth2/authorize?client_id=<client ID>&response_type=code&redirect_uri=<redirectionURI>&response_mode=query&resource=<resource ID for the AAD resource to access>&state=12345&prompt=consent