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

WSO2 API Manager 2.1.0:如何通过微软认证器应用实现无密码认证?

WSO2 API Manager 2.1.0 集成微软认证器无密码认证实现指南

核心逻辑

你已经完成了Microsoft AD作为联邦IDP的SAML SSO集成,现在只需要强制AD仅允许通过Microsoft Authenticator进行无密码认证,同时微调WSO2侧的联邦配置适配这个规则即可。

具体操作步骤

1. Azure AD端配置无密码认证强制规则

  • 登录Azure门户,进入你的AD租户,依次进入 Azure Active Directory > 安全 > 身份验证方法
  • 找到「Microsoft Authenticator」方法,设置启用状态为「开启」,并指定需要启用无密码认证的用户/组(如果只针对特定业务用户)
  • 进入该方法的详细配置,开启「无密码推送通知」选项,同时禁用密码登录相关的默认认证方式,确保用户只能通过认证器推送完成验证
  • 找到你之前为WSO2配置的SAML企业应用,进入 单一登录 > 用户分配,确认目标用户已完成Microsoft Authenticator账号绑定并启用无密码认证

2. WSO2 AM联邦IDP配置调整

  • 登录WSO2 AM管理控制台,进入 Identity > Identity Providers > List,找到你的Microsoft AD IDP并编辑
  • 在 SAML2 Web SSO Configuration 下的「Request Parameters」中添加以下参数,强制AD触发无密码认证流:
    <Parameter Name="ForceAuthn">true</Parameter>
    <Parameter Name="AuthnContextClassRef">urn:oasis:names:tc:SAML:2.0:ac:classes:TimeSyncToken</Parameter>
    

    注:TimeSyncToken 对应基于TOTP的认证器推送流,如果你遇到AD返回认证上下文不匹配的问题,可以抓包获取AD实际返回的认证上下文值,替换此处参数

  • 保持 Advanced Configuration 中的「Enable Response Signing」和「Enable Assertion Signing」为启用状态,避免认证过程中的安全校验失败

3. WSO2服务提供商(SP)认证流程优化

  • 进入 Identity > Service Providers > List,找到对应的SP并编辑
  • 在 Local & Outbound Authentication Configuration 中,确保默认认证方式为「Federated Authentication」且绑定你的Microsoft AD IDP,禁用本地认证选项,强制所有用户走联邦认证流
  • 可选:在 Authentication Policies 中开启「Force Authentication」,确保每次访问都触发AD的无密码验证环节

4. 功能验证

  • 访问你的API或SP登录入口,会直接重定向到AD认证页面,此时不会显示密码输入框,仅提示用户通过Microsoft Authenticator接收推送通知完成验证
  • 验证通过后,会正常跳回WSO2 AM完成授权,进入业务系统

注意事项

  • WSO2 AM 2.1.0属于旧版本,对Azure AD最新无密码认证上下文的支持可能有限,若遇到SAML响应异常,可通过抓包工具分析AD返回的认证上下文,调整WSO2侧的AuthnContextClassRef参数
  • 务必确保目标用户已在Microsoft Authenticator应用中完成账号绑定,否则无法接收推送通知
  • 若需针对特定用户组启用无密码认证,仅在Azure AD的身份验证方法中配置目标组即可,WSO2侧无需额外调整

内容的提问来源于stack exchange,提问作者Lilan Mihiranga

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.25 15:02:46