Hello,
I’m currently integrating XWiki into the Infinito.Nexus Enterprise Infrastructure Framework.
At the moment, the OIDC login does not work.
The plugin is installed and configured, but it does not appear on the login page.
How can I enable the display of the OIDC login button, or optimize debugging?
The instance is reachable here:
Infinito.Nexus
The Ansible role I use to install XWiki is available here:
infinito-nexus/roles/web-app-xwiki at master · kevinveenbirkenbach/infinito-nexus · GitHub
Deployed files
Dockerfile
FROM xwiki:lts-postgres-tomcat
RUN cat >> /usr/local/tomcat/webapps/ROOT/WEB-INF/xwiki.cfg <<EOF
xwiki.superadmin=1
xwiki.superadminpassword=example
xwiki.properties
# Proxy
xwiki.url.protocol=https
xwiki.url.host=x.wiki.infinito.nexus
xwiki.url.port=443
############################################
# OIDC
# Render this block only while the OIDC switch is ON in _flush_config.yml.
# During bootstrap we keep it OFF to avoid ClassNotFoundException before the extension is installed.
# @see https://extensions.xwiki.org/xwiki/bin/view/Extension/OpenID%20Connect/OpenID%20Connect%20Authenticator/
oidc.showLoginButton=true
oidc.provider=https://auth.infinito.nexus/realms/cymais.cloud
oidc.endpoint.authorization=https://auth.infinito.nexus/realms/cymais.cloud/protocol/openid-connect/auth
oidc.endpoint.token=https://auth.infinito.nexus/realms/cymais.cloud/protocol/openid-connect/token
oidc.endpoint.userinfo=https://auth.infinito.nexus/realms/cymais.cloud/protocol/openid-connect/userinfo
oidc.endpoint.logout=https://auth.infinito.nexus/realms/cymais.cloud/protocol/openid-connect/logout
oidc.clientid=cymais.cloud
oidc.secret=sdfsdfsdfsdfdsfd
oidc.scope=openid,email,profile,groups
oidc.enableUser=true
#oidc.userinfoclaims=groups
#oidc.groups.claim=groups
#oidc.groups.mapping=XWiki.XWikiAdminGroup=/roles/web-app-xwiki-administrator
# Start DW automatically and non-interactively
distribution.automaticStartOnMainWiki=true
distribution.automaticStartOnWiki=true
distribution.job.interactive=false
# Default flavor for main wiki
distribution.defaultUI=org.xwiki.platform:xwiki-platform-distribution-flavor-mainwiki
distribution.skip=false
distribution.wizard.enabled=true
# Root logger
logging.rootLogger=DEBUG, console
# XWiki OIDC extension
logging.logger.org.xwiki.contrib.oidc=TRACE
logging.logger.org.xwiki.contrib.oidc.internal=TRACE
logging.logger.org.xwiki.contrib.oidc.provider=TRACE
# OIDC extra (sometimes split in other packages)
logging.logger.org.xwiki.contrib.oidc.auth=TRACE
logging.logger.org.xwiki.contrib.oidc.client=TRACE
# Tomcat internals (servlet and HTTP handling)
logging.logger.org.apache.catalina.core=DEBUG
logging.logger.org.apache.coyote.http11=DEBUG
# Request/Resource handling
logging.logger.org.xwiki.resource=TRACE
logging.logger.org.xwiki.resource.internal=TRACE
logging.logger.org.xwiki.container.servlet=DEBUG
# Nimbus OIDC/OAuth + JOSE libraries
logging.logger.com.nimbusds=DEBUG
logging.logger.com.nimbusds.oauth2.sdk=DEBUG
logging.logger.com.nimbusds.openid.connect.sdk=DEBUG
logging.logger.com.nimbusds.jose=DEBUG
# Apache HttpClient (used under the hood by Nimbus)
logging.logger.org.apache.http=DEBUG
logging.logger.org.apache.http.wire=DEBUG # very verbose, raw request/response wire logs
# Pac4j (if your build uses it)
logging.logger.org.pac4j=DEBUG
# Persist data in the Docker volume
environment.permanentDirectory=/usr/local/xwiki/data
# Make sure Extension Manager can fetch artifacts.
# IMPORTANT:
# - Java .properties does NOT support "+=" append. Only the LAST assignment wins.
# - Use a SINGLE line with comma-separated repositories.
# - The OIDC authenticator lives in xwiki-public. Without it, resolution fails.
extension.repositories=xwiki-public:maven:https://nexus.xwiki.org/nexus/content/groups/public/,central:maven:https://repo1.maven.org/maven2/
docker-compose.yml
services:
application:
build:
context: .
dockerfile: Dockerfile
image: "xwiki_custom"
container_name: "xwiki"
hostname: 'x.wiki.infinito.nexus'
ports:
- "127.0.0.1:8054:8080"
environment:
JAVA_OPTS: >-
-Dxwiki.authentication.authclass=org.xwiki.contrib.oidc.auth.OIDCAuthServiceImpl
volumes:
- "/opt/docker/xwiki/config/xwiki.properties:/usr/local/tomcat/webapps/ROOT/WEB-INF/xwiki.properties"
- 'data:/usr/local/xwiki'
healthcheck:
test:
- "CMD"
- "curl"
- "-f"
- "-H"
- "Host: x.wiki.infinito.nexus"
- "http://127.0.0.1:8080/"
interval: 1m
timeout: 10s
retries: 3
restart: unless-stopped
env_file:
- "/opt/docker/xwiki/.env/env"
logging:
driver: journald
networks:
postgres:
default:
volumes:
data:
name: xwiki_data
networks:
postgres:
external: true
default:
name: xwiki
driver: bridge
ipam:
driver: default
config:
- subnet: 192.168.103.240/28
Any help or hints would be highly appreciated!
Thanks in advance,
Kevin