当前位置: 首页 > 知识库问答 >
问题:

Azure AD-AADSTS65001:用户或管理员未同意使用ID为的应用程序

穆招
2023-03-14

我正在尝试使用 Postman 进行身份验证以获取 Azure AD 持有者令牌,然后将令牌发送到我的本地 WebApi .net Core 服务器,该服务器应验证令牌并将请求发送到图形 API。但是在过去的几个小时里,我被这个错误困住了。

Microsoft.Identity.Client.MsalUiRequiredException: AADSTS65001:用户或管理员不同意使用ID 为“b6590b93-aeba-45e1-b337-f52695e3647e”的应用程序,名为“RegistryCrawlePublicWebApi”。为此用户和资源发送交互式授权请求。

Azure门户API权限:

namespace WebApiUsingGraphApi.Controllers
{
    [Authorize]
    [ApiController]
    [Route("[controller]")]
    public class GraphCallsController : ControllerBase
    {
        private readonly GraphApiClientDirect _graphApiClientDirect;

        public GraphCallsController(GraphApiClientDirect graphApiClientDirect)
        {
            _graphApiClientDirect = graphApiClientDirect;
        }

        [HttpGet]
        public async Task<string> Get()
        {
            var user = await _graphApiClientDirect.GetGraphApiUser()
                .ConfigureAwait(false);

            // var photo = await _graphApiClientDirect.GetGraphApiProfilePhoto();
            // var file = await _graphApiClientDirect.GetSharepointFile();
            return user.DisplayName;
        }

    }
}

Startup.cs

services.AddMicrosoftIdentityWebApiAuthentication(Configuration)
                .EnableTokenAcquisitionToCallDownstreamApi()
                .AddInMemoryTokenCaches();

共有1个答案

赫连正初
2023-03-14

Microsoft.Identity.Client。MsalUiRequired异常:AADSTS65001

对于.net中的上述错误,基于MS DOC

先征得用户同意。如果您没有使用。NET Core(没有任何Web UI),请调用(仅一次)AcquireTokenInteractive。如果您正在使用。NET核心或不想执行AcquireTokenInteractive,用户可以导航到URL以给予同意:https://login.microsoftonline.com/common/oauth2/v2.0/authorize?client_id={clientId}

有关更多信息,请参阅此 SO 线程:AADSTS65001:用户或管理员不同意使用ID '

 类似资料:
  • 我们遵循Microsoft Code授权流的OAuth2的v2,如下所述, https://learn.microsoft.com/en-us/azure/active-directory/develop/v2-oauth2-auth-code-flow 在Microsoft Azure下的应用程序注册中创建应用程序后,尝试从以下url获取代码 https://log in . Microsoft

  • 我正在尝试使用 Postman 向 PowerBi API 发送请求以执行 sth,但我无法获取它的令牌并收到以下错误: 然后我试着回答这个问题,这个问题建议先授权。我得到的结果是一个HTML页面,而不是代码。 我已经提供了此操作所需的所有权限,但没有授予管理员权限,据我所知,这在这里是不必要的。 我还增加了邮差作为重定向URI。 张贴这些图像,因为我怀疑这里可能有问题。

  • 我们正在尝试使用官方文档请求获取Oauth的令牌: 但是当我们发出请求时,它会响应此错误: 问题是,即使在管理员同意的情况下,我们已经在Azure门户AD和应用注册上授予了他们此权限,但仍然: 那里缺少任何权限吗?,对此有任何线索吗?

  • “AADSTS65001:用户或管理员未同意使用ID为<'My native client app ID'>的应用程序。请为此用户和资源发送交互式授权请求。 我们使用,是本机应用程序id,是Web API应用程序URI。 权限方面,已从客户端应用程序授予了访问api应用程序的委托权限,并尝试在清单中设置。

  • 在我的java web应用程序中,我想通过使用jakarta邮件访问用户的邮箱。为此,我跟随https://learn.microsoft.com/en-us/exchange/client-developer/legacy-protocols/how-to-authenticate-an-imap-pop-smtp-application-by-using-oauth用于OAuth2授权代码流。

  • 我正在尝试授权我的多租户saas Web应用程序与Office 365帐户通信。嗯,显然我的应用程序需要管理员同意,因为权限,所以我必须实现它。 但我也希望用户也同意,这样他就可以进入他的帐户并在管理员同意后单击“授权”。 我该如何实现?已经有一个授权流,但它只是授权每个用户(当时完全不知道管理员同意的想法)。当非管理员尝试授权其帐户时,他会收到错误“此操作只能由管理员执行”。当管理员完成此操作时