You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Azure AD与自有PHP平台集成 无应用/SSO校验用户密码实现咨询

Azure AD PHP密码校验问题解答

1. 能否不注册应用、不使用SSO实现密码校验?

完全不可行。所有与Azure AD身份体系交互的操作都受微软的身份安全机制约束,必须先在Azure AD后台注册应用、完成权限配置后才能调用对应接口,不存在跳过应用注册的直连密码比对能力。

2. 是否存在类似LDAP的实现方式?

有适配方案:

  • 你可以部署Azure AD Domain Services(AD DS),开启安全LDAP访问权限后,就可以直接使用PHP原生的LDAP扩展完成密码校验,和本地LDAP服务的使用逻辑完全一致
  • 核心校验逻辑示例:
// 连接已配置好的Azure AD DS安全LDAP地址
$ldapConn = ldap_connect('ldaps://your-aadds-domain.com', 636);
// 配置LDAP参数
ldap_set_option($ldapConn, LDAP_OPT_PROTOCOL_VERSION, 3);
ldap_set_option($ldapConn, LDAP_OPT_REFERRALS, 0);
// 尝试绑定,绑定成功即密码校验通过
$verifyResult = @ldap_bind($ldapConn, 'user@your-domain.com', $_POST['password']);
if ($verifyResult) {
    echo '密码校验通过';
} else {
    echo '密码错误';
}
  • 注意该方案仍需要你先在Azure后台完成Azure AD DS的部署、安全LDAP的启用和网络策略配置,不能跳过基础配置环节。

3. 关于Pass-through Authentication(直通身份验证)的说明

直通身份验证是微软为混合部署场景(本地AD与Azure AD同步)提供的内置身份校验能力,仅作用于Azure AD自身的登录流,没有对外暴露可被第三方自定义代码调用的接口,因此你无法直接调用该能力实现自定义表单的密码校验。

补充建议

如果你的业务场景允许,优先选择OAuth2.0/OIDC标准SSO流实现登录,不需要你侧采集和传输用户明文密码,安全性更高。如果必须自定义表单采集校验,除了上述LDAP方案外,也可以注册应用后使用Azure AD的资源所有者密码凭据流,请求对应租户的token端点,能成功返回有效访问token即代表密码校验通过。

内容的提问来源于stack exchange,提问作者Kriss McCone

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 23:06:04