0

我想在我的 Java 应用程序中访问任何用户的日历。

https://portal.azure.com中,我创建了一个 Azure Active Directory:aniketorg123

然后我在其中创建了一个应用程序:aniketorgapp1

以下是我添加的重定向 URI:

在此处输入图像描述

然后我添加了一些权限:

在此处输入图像描述

现在,在我的应用程序中,我发送 Oauth 授权请求:

https://login.microsoftonline.com/common/oauth2/v2.0/authorize?response_type=code&response_mode=form_post&redirect_uri=https%3A%2F%2Flocalhost%3A8443%2Fmsal4jsample%2Fsecure%2Faad&client_id=ca146462-8880-424c-b629- cc7c0d0fb1b3&scope=openid+offline_access+profile&prompt=select_account&state=69a2ac0f-abac-46ad-b525-88f0b70182b7&nonce=9278f424-6858-4e22-bb13-7b13894abda7

这将加载“选择帐户”页面。当用户选择一个帐户时,我收到以下响应:

403 禁止

为什么我会被 403 禁止?

4

2 回答 2

1

如果您收到 403 禁止错误,请确保已将正确的服务主体添加到云合作伙伴门户中的发布者帐户。按照先决条件页面中的步骤将服务主体添加到门户。

如果已添加正确的服务主体,则验证所有其他信息。密切注意在门户上输入的对象 ID。Azure Active Directory 应用注册页面中有两个 Object ID,必须使用本地 Object ID。您可以通过转到应用程序的应用程序注册页面并单击本地目录中托管应用程序 下的应用程序名称来找到正确的值。这会将您带到应用程序的本地属性,您可以在“属性”页面中找到正确的对象 ID,如下图所示。此外,请确保在添加服务主体和进行 API 调用时使用正确的发布者 ID。

参考文件

于 2020-05-08T19:23:07.497 回答
1

这似乎是样本的问题,现在应该修复。您也可以尝试在授权 url 中更改 response_mode=query,这应该可以解决此问题。这是由浏览器正在进行的一些相同站点更新引起的。

于 2020-05-12T18:01:57.627 回答