我是Azure AD的新手,希望通过我的Java应用程序与它进行交互。在做了一些研究之后,我发现我们需要获得bearer_token才能使用Azure API的Graph API。
我正在关注this链接以获取持有者令牌但面临其中一个参数的问题。
现在如下图所示,从上面的链接,有几个参数和相关的信息给出了它们是什么以及如何检索它们但我没有看到任何相关的'代码'参数信息。
有人能告诉我这个'代码'是什么,我该怎么做?
注意:我有Azure AD的免费试用帐户。
任何帮助深表感谢!
此致,阿米特
您正在尝试使用授权码授予流程。您可以在Microsoft Docs中详细了解流程和步骤
这是一个两步过程:
第1步:通过点击/ authorize端点获取授权码。您将获得一个authorization_code作为此呼叫的响应。示例如下:
// 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
第2步:从上一次呼叫中获得authorization_code后,您可以将其兑换为访问令牌。示例如下:
// 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