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

WSO2 Identity Server 6.1.0首次登录强制改密码配置咨询

在WSO2 Identity Server 6.1.0中实现首次登录强制修改密码

可以直接实现,无需借助重置密码功能模拟,WSO2 IS 6.1.0内置了相关支持,以下是两种可行的配置方案:

方案一:用身份验证脚本触发强制改密

这是最灵活的方式,通过自定义脚本判断用户是否首次登录,再引导至密码修改页面。

  1. 创建身份验证脚本

    • 登录WSO2 IS管理控制台,进入「主菜单 > 身份验证 > 脚本」,点击「添加脚本」
    • 脚本类型选Authentication Script,命名为ForceFirstLoginPasswordChange
    • 粘贴以下脚本逻辑:
      function onLoginRequest(context) {
          const user = context.currentKnownUser;
          const isFirstLogin = user.getClaim('http://wso2.org/claims/identity/firstLogin');
          
          // 首次登录时该Claim默认值为true
          if (isFirstLogin === 'true') {
              // 标记为已触发过首次登录,避免循环
              user.setClaim('http://wso2.org/claims/identity/firstLogin', 'false');
              // 先完成基础登录,再触发改密步骤
              executeStep(1, {
                  onSuccess: function (ctx) {
                      const stepConfig = {
                          step: 2,
                          authenticator: 'basic',
                          options: {
                              forceAuth: true,
                              prompt: 'changePassword'
                          }
                      };
                      ctx.addStep(stepConfig);
                  }
              });
          } else {
              // 正常走登录流程
              executeStep(1);
          }
      }
      
    • 保存脚本
  2. 绑定脚本到目标应用

    • 进入「主菜单 > 应用程序 > 服务提供者」,选中需要启用该功能的应用
    • 进入对应协议的配置页面(比如「SAML2 Web SSO配置」或「OAuth2/OpenID Connect配置」),点击「编辑」
    • 在「高级配置 > 身份验证脚本」中选择刚创建的脚本,保存配置

方案二:通过身份验证序列配置改密步骤

无需写代码,直接通过可视化配置序列实现:

  1. 创建自定义身份验证序列

    • 进入「主菜单 > 身份验证 > 序列」,点击「添加序列」,命名为FirstLoginPasswordChangeSeq
    • 添加第一步:选择Basic Authenticator(或你使用的登录认证器),勾选「标记为可选」
    • 添加第二步:选择Password Reset Authenticator,配置条件为http://wso2.org/claims/identity/firstLogin equals true,并勾选「跳过后续步骤」
  2. 关联序列到服务提供者

    • 进入目标服务提供者的「入站认证配置」,在「身份验证序列」中选择刚创建的序列,保存即可

验证效果

  • 创建新用户(默认firstLoginClaim值为true)
  • 使用该用户登录绑定的应用,会自动跳转到密码修改页面,完成修改后才能进入应用
  • 再次登录时,不会重复触发改密流程

注意事项

  • 若用户的firstLoginClaim被手动修改过,需确保其值为true才能触发首次登录改密
  • 使用OAuth2/OIDC协议时,需确认服务提供者的回调URL配置正确,避免改密后跳转失败

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.01 19:42:39