Java 如何获得';代码';用于在使用Azure AD Graph API时获取访问令牌

Java 如何获得';代码';用于在使用Azure AD Graph API时获取访问令牌,java,azure,azure-active-directory,azure-api-management,azure-api-apps,Java,Azure,Azure Active Directory,Azure Api Management,Azure Api Apps,我是Azure广告的新手,希望通过我的java应用程序与之交互。 在做了一些研究之后,我发现为了在Azure AD中使用Graph API,我们需要获得bearer_令牌 我下面的链接,以获得承载令牌,但面临一个参数的问题 现在,如上面链接的下图所示,有几个参数和与它们相关的信息,如它们是什么以及如何检索它们,但我没有看到任何与“代码”参数相关的信息 谁能告诉我这个“代码”是什么?我该如何得到它 注意:我有Azure广告的免费试用帐户 非常感谢您的帮助 问候,, Amit您正在尝试使用授权代码

我是Azure广告的新手,希望通过我的java应用程序与之交互。 在做了一些研究之后,我发现为了在Azure AD中使用Graph API,我们需要获得bearer_令牌

我下面的链接,以获得承载令牌,但面临一个参数的问题

现在,如上面链接的下图所示,有几个参数和与它们相关的信息,如它们是什么以及如何检索它们,但我没有看到任何与“代码”参数相关的信息

谁能告诉我这个“代码”是什么?我该如何得到它

注意:我有Azure广告的免费试用帐户

非常感谢您的帮助

问候,,
Amit

您正在尝试使用授权代码授权流。您可以在中详细阅读流程和步骤

这是一个分两步的过程:

步骤1:点击/authorize端点获取授权代码。您将获得一个授权码作为此呼叫的响应。示例如下所示:

// Line breaks for legibility only

https://login.microsoftonline.com/{tenant}/oauth2/v2.0/authorize?
client_id=6731de76-14a6-49ae-97bc-6eba6914391e
&response_type=code
&redirect_uri=http%3A%2F%2Flocalhost%2Fmyapp%2F
&response_mode=query
&scope=openid%20offline_access%20https%3A%2F%2Fgraph.microsoft.com%2Fmail.read
&state=12345
// Line breaks for legibility only

POST /{tenant}/oauth2/v2.0/token HTTP/1.1
Host: https://login.microsoftonline.com
Content-Type: application/x-www-form-urlencoded

client_id=6731de76-14a6-49ae-97bc-6eba6914391e
&scope=https%3A%2F%2Fgraph.microsoft.com%2Fmail.read
&code=OAAABAAAAiL9Kn2Z27UubvWFPbm0gLWQJVzCTE9UkP3pSx1aXxUjq3n8b2JRLk4OxVXr...
&redirect_uri=http%3A%2F%2Flocalhost%2Fmyapp%2F
&grant_type=authorization_code
&client_secret=JqQX2PNo9bpM0uEihUPzyrh    // NOTE: Only required for web apps
步骤2:一旦您从上次通话中获得授权码,您可以将其兑换为访问令牌。示例如下所示:

// Line breaks for legibility only

https://login.microsoftonline.com/{tenant}/oauth2/v2.0/authorize?
client_id=6731de76-14a6-49ae-97bc-6eba6914391e
&response_type=code
&redirect_uri=http%3A%2F%2Flocalhost%2Fmyapp%2F
&response_mode=query
&scope=openid%20offline_access%20https%3A%2F%2Fgraph.microsoft.com%2Fmail.read
&state=12345
// Line breaks for legibility only

POST /{tenant}/oauth2/v2.0/token HTTP/1.1
Host: https://login.microsoftonline.com
Content-Type: application/x-www-form-urlencoded

client_id=6731de76-14a6-49ae-97bc-6eba6914391e
&scope=https%3A%2F%2Fgraph.microsoft.com%2Fmail.read
&code=OAAABAAAAiL9Kn2Z27UubvWFPbm0gLWQJVzCTE9UkP3pSx1aXxUjq3n8b2JRLk4OxVXr...
&redirect_uri=http%3A%2F%2Flocalhost%2Fmyapp%2F
&grant_type=authorization_code
&client_secret=JqQX2PNo9bpM0uEihUPzyrh    // NOTE: Only required for web apps

谢谢你!这很有帮助。