Php Azure单点登录-重定向循环

Php Azure单点登录-重定向循环,php,azure,azure-active-directory,Php,Azure,Azure Active Directory,我在为我们的pHp网站设置简单的Azure广告单点登录时遇到问题。该应用程序已在azure中注册,我拥有所有必要的详细信息,如客户端ID、密码、租户 我的要求是获得授权,并收回用户的员工id、姓名和电子邮件id。我第一次使用单点登录,需要一些帮助 在创建授权URL时,我请求代码,根据Azure文档,这是正确的。我能够在授权后成功检索代码。但是,我无法请求id\u令牌和代码作为response\u type=code+id\u令牌,这应该是可能的。我可以跟踪URL流并手动提取id\u令牌字段。如果

我在为我们的pHp网站设置简单的Azure广告单点登录时遇到问题。该应用程序已在azure中注册,我拥有所有必要的详细信息,如客户端ID、密码、租户

我的要求是获得授权,并收回用户的员工id、姓名和电子邮件id。我第一次使用单点登录,需要一些帮助

在创建授权URL时,我请求代码,根据Azure文档,这是正确的。我能够在授权后成功检索代码。但是,我无法请求id\u令牌和代码作为response\u type=code+id\u令牌,这应该是可能的。我可以跟踪URL流并手动提取id\u令牌字段。如果我这样做,系统会提示我登录和MFA。但响应进入无限循环,只需在我的手机上提示无限多的MFA ping。这很奇怪,我的程序在代码响应时有一个重定向检查,这似乎不起作用。我也尝试过使用session_id cookie,它具有相同的行为

如果我只是选择code作为响应类型,并使用令牌授予URL请求id\u令牌,我不会得到任何响应。它为空或null,但没有错误


如果我犯了错误,你能帮我建议一下吗。我的方法是正确的还是错误的,先请求代码,然后请求令牌。如何才能成功检索id_令牌。

只需将评论汇总为回复,以帮助其他有相同问题的人

response\u mode
:指定将生成的授权码发送回应用程序的方法。可以是
form\u post
fragment
对于web应用程序,我们建议使用
response\u mode=form\u post
,以确保令牌最安全地传输到您的应用程序

如果要在
响应类型
中使用
code+id\u令牌
,则应使用OIDC混合流

但是,如果您只是在
响应类型
中使用
代码
,则应该使用授权代码流


有关更多详细信息,请参阅此文档。

这是否有帮助:请共享您正在关注的文档,并参考@GauravMantri AIS的文档,谢谢。那篇文章让我达到了一些标准,并且可以意识到我所犯的错误。当我使用code+id\u标记时,我不得不使用fragment。如果我们使用fragment,响应只会在浏览器上停止,而不能在服务器上处理。我的密码错了。因此,我采用了常规路径,首先使用授权url请求代码,然后使用令牌url请求令牌。