Node.js ERR_TOO_MANY_重定向错误以响应Azure AD v2.0身份验证

Node.js ERR_TOO_MANY_重定向错误以响应Azure AD v2.0身份验证,node.js,azure-active-directory,microsoft-graph-api,Node.js,Azure Active Directory,Microsoft Graph Api,我正在使用Microsoft Graph从Node.js web应用程序中访问用户的Microsoft帐户数据,以调用rest API。但一旦身份验证完成,我将在浏览器中获得ERR\u过多的重定向,而不是返回到ReturnURL 下面是我正在使用的节点应用程序: 正如我所看到的,访问令牌似乎存在冲突,并且由于passport无法验证我的请求 有人能帮我一下吗,我在这里失踪了。我没有在应用程序中做任何重大更改 如果有人需要更多信息,请告诉我 谢谢。我已经看到了几个这样的例子。根据您提供的有限信息

我正在使用Microsoft Graph从Node.js web应用程序中访问用户的Microsoft帐户数据,以调用rest API。但一旦身份验证完成,我将在浏览器中获得
ERR\u过多的重定向,而不是返回到
ReturnURL

下面是我正在使用的节点应用程序:

正如我所看到的,访问令牌似乎存在冲突,并且由于passport无法验证我的请求

有人能帮我一下吗,我在这里失踪了。我没有在应用程序中做任何重大更改

如果有人需要更多信息,请告诉我


谢谢。

我已经看到了几个这样的例子。根据您提供的有限信息,很难准确地说出发生了什么,但以下是我在过去看到的一些例子:

  • redirect\u uri
    指向自动将用户重定向回
    https://login.microsoftonline.com/common/oauth2/v2.0/authorize?
    。这将导致无限循环

  • redirect\u uri
    返回指示重定向的
    HTTP 3xx
    状态(
    301
    302
    303
    307
    308

  • redirect\u uri
    指向检查已验证用户的页面。由于用户尚未进行身份验证(您已获得
    授权\u代码
    ,但尚未获得
    访问\u令牌
    ),因此再次触发身份验证工作流


我已经看到了几个这样的例子。根据您提供的有限信息,很难准确地说出发生了什么,但以下是我在过去看到的一些例子:

  • redirect\u uri
    指向自动将用户重定向回
    https://login.microsoftonline.com/common/oauth2/v2.0/authorize?
    。这将导致无限循环

  • redirect\u uri
    返回指示重定向的
    HTTP 3xx
    状态(
    301
    302
    303
    307
    308

  • redirect\u uri
    指向检查已验证用户的页面。由于用户尚未进行身份验证(您已获得
    授权\u代码
    ,但尚未获得
    访问\u令牌
    ),因此再次触发身份验证工作流


您过去的代码示例仅演示如何使用Microsoft Graph SDK。你是如何通过Azure AD进行身份验证的?我使用创建了一个应用程序,然后配置客户端Id和客户端机密、重定向URL、IdentityMetaData。我在云上部署了我的应用程序以获取https。我有我的组织帐户,因此使用我的组织帐户进行了身份验证。您过去的代码示例仅演示如何使用Microsoft Graph SDK。你是如何通过Azure AD进行身份验证的?我使用创建了一个应用程序,然后配置客户端Id和客户端机密、重定向URL、IdentityMetaData。我在云上部署了我的应用程序以获取https。我有我的组织帐户,所以用我的组织帐户进行了身份验证。谢谢Marc的回复。我什么也不做,只是在应用注册门户创建了应用,并在nodejs应用中配置了凭据。正如你所说,下面是导致太多重定向的url。我不明白你们说“用户还没有通过身份验证,但一旦我通过身份验证,我就被重定向回重定向url,不是吗?”。但我在下面的url中看不到授权码或访问令牌。“***&response\u type=code&response\u mode=query&client\u id=******&state=******&nonce=***&scope=User.Read Mail.Send Files.ReadWrite openid&x-client-SKU=passport azure ad&x-client-Ver=3.0.8”还有一件事,我正在使用我的组织电子邮件id进行身份验证,或者也在创建应用程序时使用了相同的id。重定向uri是什么?或者重定向到哪个url?您可以在输入凭据后跟踪响应,并查看应用程序是否正确处理响应。嗨,Fei,重定向url是https://**/token,似乎身份验证失败,因此再次重定向到login.microsoftonline.com/。。。网址。我还在PHP平台上尝试了相同的应用程序,得到了相同的响应。这是权限级别的操作吗?在我的应用程序中,我拥有USER.Read权限。如果是,那么我是否需要管理员授予某些必需的权限。我可以看到,有两种类型的权限可以由用户或管理员进行分级。谢谢,谢谢马克的回复。我什么也不做,只是在应用注册门户创建了应用,并在nodejs应用中配置了凭据。正如你所说,下面是导致太多重定向的url。我不明白你们说“用户还没有通过身份验证,但一旦我通过身份验证,我就被重定向回重定向url,不是吗?”。但我在下面的url中看不到授权码或访问令牌。“***&response\u type=code&response\u mode=query&client\u id=******&state=******&nonce=***&scope=User.Read Mail.Send Files.ReadWrite openid&x-client-SKU=passport azure ad&x-client-Ver=3.0.8”还有一件事,我正在使用我的组织电子邮件id进行身份验证,或者也在创建应用程序时使用了相同的id。重定向uri是什么?或者重定向到哪个url?您可以在输入凭据后跟踪响应,并查看应用程序是否正确处理响应。嗨,Fei,重定向url是https://**/token,似乎身份验证失败,因此再次重定向到login.microsoftonline.com/。。。网址。我还在PHP平台上尝试了相同的应用程序,得到了相同的响应。这是权限级别的操作吗?在我的应用程序中,我拥有USER.Read权限。如果是,那么我是否需要管理员授予某些必需的权限。我可以看到有两种类型的权限可以由用户或adm进行划分