首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >示例active-directory-dotnet-webapi-onbehalfof不工作

示例active-directory-dotnet-webapi-onbehalfof不工作
EN

Stack Overflow用户
提问于 2016-11-26 06:47:29
回答 1查看 109关注 0票数 0

我正在尝试以单租户模式运行active-directory-dotnet-webapi-onbehalfof示例。我已经将web应用程序服务和本机应用程序客户端注册为租户的全局管理员。当我运行示例时,作为租户中的用户,我只能在弹出同意后(用户是第一次)在客户端获得令牌,然后调用服务,但失败了,显示如下。为什么会这样呢?文档说,当租户管理员注册应用程序时,不需要进一步的同意?我认为当远程webapi试图获取OBO令牌时,不可能给予同意。有些东西好像有问题。AAD团队,请澄清应如何使用OBO功能。

AADSTS65001:用户或管理员未同意使用ID为'b824502e-fe8a-4770-bd98-8d65a07efcc3‘的应用程序。发送对此用户和资源的交互式授权请求。跟踪ID: ad7843d0-be4e-4098-8f7c-43c8e5505cfc相关ID: 140466a4-7250-429f-8843-dbd4f63dc60e时间戳: 2016-11-25 21:46:13Z

EN

回答 1

Stack Overflow用户

发布于 2016-11-27 15:33:33

当你使用Azure管理门户(manage.windowsazure.com)作为租户管理员注册一个应用程序时,是的,你不应该得到同意,只要在同一个租户中检索后续令牌。

因为您看到的是对本机客户端应用程序的同意,然后又得到了错误消息,所以我们必须假设有什么东西是不满足的,这将抑制对您的应用程序的同意。

为了解决这个问题,我的建议是简单地启动一个交互式授权请求,就像错误消息所暗示的那样。您可以通过为您的应用程序生成一个登录url来实现这一点,该url带有一个特定的查询字符串,该字符串将强制提示租户范围同意(prompt=admin_consent)。

以下是您需要完成的URL的框架:

代码语言:javascript
运行
复制
https://login.microsoftonline.com/<TenantID>/oauth2/authorize?client_id=<AppID>&response_type=code&redirect_uri=<RedirectURI>&resource=<ResourceURI>&prompt=admin_consent

您可以对您注册的所有应用程序执行此操作,并且不会遇到同意问题(假设您确实是以租户管理员的身份登录)。

我希望这能解决你的问题。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40813109

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档