在点击 microsoft Graph 的 url 时,我无法获得授权码?

Posted

技术标签:

【中文标题】在点击 microsoft Graph 的 url 时,我无法获得授权码?【英文标题】:I am not able to get Authorization code while hitting url for microsoft Graph? 【发布时间】:2019-12-08 22:11:01 【问题描述】:

我的 POC 的主要目的是使用 Java 中的 Microsoft Graph Api 发送邮件。 我已经按照下面的 Github repo 步骤进行了操作,并且能够成功构建代码: https://github.com/microsoftgraph/console-java-connect-sample

根据 Repo 中提到的步骤,我应该在 URL 中获取授权码, 但我无法获得授权码。

我对代码做了一些改动,

    首先,我根据我的应用程序客户端 ID 替换 CLIENT_ID 值。

    其次,还要更改 Constants.java 中的重定向 URL。在回购中, 重定向网址被提及为 “https://login.microsoftonline.com/common/oauth2/nativeclient”。但就像我一样 使用组织帐户,我提到了我的应用程序(网络服务) 重定向网址。

    我在MicrosoftAzureAD20Api.java 中还做了一项更改,我 替换了getAccessTokenEndpoint() and getAuthorizationBaseUrl() URL 根据我的申请。

运行代码后,它运行没有错误,我也在控制台中打印了授权 URL,但我没有在 URL 中获得授权代码(我在控制台中打印)。 预期的 url (acc to github) 类似于:

https://login.microsoftonline.com/common/oauth2/nativeclient?code=IAQABAAIAAABHh4kmS_aKT5XrjzxRAtHz5S...p7OoAFPmGPqIq-1_bMCAA&session_state=dd64ce71-4424-494b-8818-be9a99ca0798

但我得到的 URL 如下所示:

 https://login.microsoftonline.com/tenantId/oauth2/v2.0/authorize?response_type=code&client_id=ClientId&redirect_uri=https%3A%2F%2Flogin.microsoftonline.com%2Fcommon%2Foauth2%2Fnativeclient&scope=Files.ReadWrite%20openid%20User.Read%20Mail.Send%20Mail.ReadWrite

作为两个 url 的比较,第二个中缺少代码。(我需要进一步传递)

请帮帮我。

【问题讨论】:

能否请您将链接添加到您所指的回购/教程? @Thomas 我已经用 Git repo 链接编辑了这篇文章 @nikitakakraniya 这个问题有什么更新吗? 【参考方案1】:

你得到的 URL 是一个授权 URL。命令行界面在 Azure Active Directory 授权终结点上打开一个浏览器窗口。您需要输入您的用户名和密码才能进行身份验证。

通过身份验证后,您将进入应用的授权窗口。单击授权窗口上的确定按钮。然后你会得到代码。

【讨论】:

以上是关于在点击 microsoft Graph 的 url 时,我无法获得授权码?的主要内容,如果未能解决你的问题,请参考以下文章

使用 Microsoft Graph API 时重定向 URL 地址不正确

在 Microsoft Graph 中获取“logoUrl”和“homePageUrl”为空

新的&改进的 Microsoft Graph To Do API 公开预览了!

使用 Microsoft 在 Android 应用程序中重定向 URL

无回复 URL 已配置 Microsoft Azure API

Microsoft Graph 的 .NET 6 之旅