【问题标题】:how to get 'code' for getting access_token when using Azure AD Graph API使用 Azure AD Graph API 时如何获取用于获取 access_token 的“代码”
【发布时间】:2018-09-16 15:04:18
【问题描述】:

我是 Azure AD 的新手,想通过我的 Java 应用程序与之交互。 经过一番研究,我发现我们需要获取 bearer_token 才能使用 Azure AD 的 Graph API。

我正在关注this 链接以获取不记名令牌,但面临参数之一的问题。

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

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

注意:我有 Azure AD 的免费试用帐户。

非常感谢任何帮助!

问候, 阿米特

【问题讨论】:

    标签: java azure azure-active-directory azure-api-management azure-api-apps


    【解决方案1】:

    您正在尝试使用授权码授予流程。您可以在Microsoft Docs 阅读有关流程和步骤的详细信息

    这是一个两步过程:

    步骤 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
    

    第 2 步:一旦您获得了之前通话的授权码,您就可以将其兑换为访问令牌。示例如下:

    // 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
    

    【讨论】:

    • 谢谢罗希特!它有帮助。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-08-22
    • 1970-01-01
    • 2015-06-07
    相关资源
    最近更新 更多