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

XWiki如何配置登录页同时提供账号密码与OpenID Connect SSO登录选项

解决方案

当前访问直接跳转Keycloak是因为OpenID Connect Authenticator默认开启了强制自动跳转规则,跳过了XWiki原生登录选择页,按以下步骤配置即可实现双登录选项共存:

1. 关闭全局自动SSO跳转

  • 若当前访问站点直接跳转Keycloak,可直接访问路径<你的XWiki域名>/xwiki/bin/login/XWiki/XWikiLogin?u=XWiki.superadmin绕过自动跳转,使用超级管理员本地账号登录后台
  • 进入管理后台,依次打开「OpenID Connect Authenticator」配置页,找到配置项openidconnect.authenticator.autoRedirect,将参数值从默认的true修改为false,保存配置

2. 登录页添加SSO登录入口

  • 进入管理后台的「外观 > 页面元素 > 登录页」配置区,在本地账号密码登录表单的合适位置(通常放在密码输入框下方、登录按钮上方/下方均可)插入以下代码:
<div class="login-sso-entry mt-3">
  <hr>
  <p class="text-center text-muted">其他登录方式</p>
  <a href="/xwiki/oidc/authenticate" class="btn btn-outline-primary btn-block">
    使用企业SSO(Keycloak)登录
  </a>
</div>
  • 保存外观配置后,清空XWiki的页面缓存与浏览器缓存即可生效

3. 效果验证

退出当前登录状态重新访问登录页,即可同时看到本地账号密码输入框、Keycloak SSO登录按钮,用户可自主选择登录方式;未登录访问受权限控制的页面时,也会先进入登录选择页,不会强制跳转Keycloak。

注意事项
  • 无需修改xwiki.authentication.authclass认证类配置,仅关闭自动跳转参数不会影响原有SSO功能、也不会屏蔽本地账号登录能力
  • 可根据自身站点主题风格调整上述SSO按钮的样式、文案,按钮跳转路径固定为/xwiki/oidc/authenticate即可
  • 若需要对指定用户组强制使用SSO登录,可在OpenID Connect配置项中找到openidconnect.authenticator.enforceForUsers,填入对应用户/用户组ID即可,未匹配的用户仍可自主选择登录方式

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 12:01:05