我在使用 Azure AD 为我们的 pHp 网站设置简单的单点登录时遇到问题。该应用程序已在 azure 中注册,我拥有所有必要的详细信息,例如客户端 ID、秘密、租户。我的要求是获得授权并撤回用户的员工 ID、姓名和电子邮件 ID。我是第一次进行单点登录,需要一些帮助。在创建授权 URL 时,我请求code,根据 Azure 文档,这是正确的。授权后我可以成功检索代码。但是,我无法请求id_token以及response_type=code+id_token 的代码,这应该是可能的。我可以跟踪 URL 流并手动提取id_token字段。如果我这样做,系统会提示我登录和 MFA。但是,仅通过在我的手机上提示无限数量的 MFA ping,响应就会进入无限循环。这很奇怪,我的程序有一个检查来重定向代码响应,但这似乎不起作用。我也尝试过使用 session_id cookie,它具有相同的行为。如果我只是选择代码作为响应类型并使用令牌授予 URL 请求id_token,则不会收到任何响应。它是空白或 null 但没有错误。如果我犯了错误,你能帮忙提出建议吗?我的方法是先请求代码,然后请求令牌,这是正确还是错误?如何成功检索 id_token。
1 回答
绝地无双
TA贡献1946条经验 获得超4个赞
response_mode
:指定用于将生成的授权代码发送回您的应用程序的方法。可以是form_post
或fragment
. 对于 Web 应用程序,我们建议使用response_mode=form_post
, 以确保将令牌最安全地传输到您的应用程序。
code + id_token
如果您想在 中使用response_type
,您应该使用 OIDC Hybrid Flow。
但是,如果您只是code
在 中使用response_type
,则应该使用授权代码流程。
- 1 回答
- 0 关注
- 137 浏览
添加回答
举报
0/150
提交
取消