Jans
Janssen Project 是一个开源数字身份平台,提供 OAuth 授权服务器和经过认证的 OpenID Connect 提供程序。它是 Keycloak 的替代品。
Jans Auth Server
一个非常完整的 Java OAuth 授权服务器和经过认证的 OpenID Connect 提供程序。
安装
安装 jans-auth-serverAUR
配置
Jans 支持多种数据库后端 LDAP、 Couchbase、 PostgreSQL、 MySQL 和 Spanner。
编辑 /etc/jans/conf/jans.properties
并相应地设置 persistence.type
。
要创建配置,请执行
# /usr/share/jans/bin/generate_config.sh auth example.org:8080
LDAP
对 OpenDJ 的支持最好,但您也可以使用 OpenLDAP。
使用您的 LDAP 设置更新 jans-ldap.properties
# sed -i "s|%(persistence_type)s|ldap|" /etc/jans/conf/jans.properties # sed -i "s|%(ldap_binddn)s|cn=Directory Manager|" /etc/jans/conf/jans-ldap.properties # sed -i "s|%(ldap_hostname)s:%(ldaps_port)s|127.0.0.1:1389|" /etc/jans/conf/jans-ldap.properties # sed -i "s|useSSL: true|useSSL: false|" /etc/jans/conf/jans-ldap.properties
# sed -i "s|%(ldap_bind_encoded_pw)s|$(echo -n "YOUR_LDAP_PASSWORD_HERE" | openssl des-ede3-ecb -e -a -K $(cat "/etc/jans/conf/salt" | cut -d '=' -f 2 | xxd -p))|" /etc/jans/conf/jans-ldap.properties
复制 LDAP 模式
# cp /usr/share/jans/schema-opendj/101-jans.ldif /var/lib/opendj/config/schema/
在 LDAP 中加载生成的配置
# opendj-ldapmodify -D "cn=Directory Manager" -p 1389 -w $PASSWORD /tmp/jansconfig/auth.ldif
Web 服务器
Jetty
安装 jetty11AUR
添加必要的模块
# java -jar /usr/share/jetty11/start.jar jetty.base=/etc/jetty11 --add-module=deploy,jsp,websocket-jakarta,logging-log4j2,http,console-capture
安装 webapp
# ln -sf /etc/jans/jetty/start.d/jans.ini /etc/jetty11/start.d/jans.ini # ln -sf /etc/jans/jetty/webapps/jans-auth-server.xml /var/lib/jetty11/webapps/ # ln -sf /etc/jans/jetty/webapps/agama_web_resources.xml /var/lib/jetty11/webapps/
启动/启用 jetty11.service
。
Jans Config API
所有 Janssen 组件的 RESTful 控制平面。
安装
安装 jans-config-apiAUR
可用的插件
- jans-config-usersAUR
- jans-config-fidoAUR
- jans-config-linkAUR
- jans-config-samlAUR
- jans-config-scimAUR
配置
执行
# /usr/share/jans/bin/generate_config.sh config example.org:8080
LDAP
# opendj-ldapmodify -D "cn=Directory Manager" -p 1389 -w $PASSWORD /tmp/jansconfig/config-api.ldif
Web 服务器
Jetty
安装 webapp
# ln -sf /etc/jans/jetty/webapps/jans-config-api.xml /var/lib/jetty11/webapps/
Jans SCIM
用于用户管理的 SCIM JSON/REST API,包括关联的 FIDO 设备。
安装
安装 jans-scim-serverAUR 和 jans-config-scimAUR,用于 Jans Config API。
配置
执行
# /usr/share/jans/bin/generate_config.sh scim example.org:8080
LDAP
# opendj-ldapmodify -D "cn=Directory Manager" -p 1389 -w $PASSWORD /tmp/jansconfig/scim.ldif
Web 服务器
Jetty
安装 webapp
# ln -sf /etc/jans/jetty/webapps/jans-scim.xml /var/lib/jetty11/webapps/
Jans Text UI ("TUI")
命令行和交互式配置工具,帮助您正确调用 Config API。
安装
安装 jans-cli-tuiAUR
配置
执行
# /usr/share/jans/bin/generate_config.sh cli example.org:8080
LDAP
# opendj-ldapmodify -D "cn=Directory Manager" -p 1389 -w $PASSWORD /tmp/jansconfig/cli.ldif
Jans FIDO
使最终用户能够使用通行密钥和其他 FIDO 验证器进行注册和身份验证。
安装
安装 jans-fido2AUR 和 jans-config-fidoAUR,用于 Jans Config API。
配置
执行
# /usr/share/jans/bin/generate_config.sh fido2 example.org:8080
LDAP
# opendj-ldapmodify -D "cn=Directory Manager" -p 1389 -w $PASSWORD /tmp/jansconfig/fido2.ldif
Web 服务器
Jetty
安装 webapp
# ln -sf /etc/jans/jetty/webapps/jans-fido2.xml /var/lib/jetty11/webapps/
Jans LDAP Link
一组组件,提供同步服务,以从外部权威 LDAP 数据源更新 Janssen 用户存储。
安装
安装 jans-linkAUR 和 jans-config-linkAUR,用于 Jans Config API。
配置
执行
# /usr/share/jans/bin/generate_config.sh link
LDAP
# opendj-ldapmodify -D "cn=Directory Manager" -p 1389 -w $PASSWORD /tmp/jansconfig/link.ldif
Web 服务器
Jetty
安装 webapp
# ln -sf /etc/jans/jetty/webapps/jans-link.xml /var/lib/jetty11/webapps/
Jans SAML
安装
安装 jans-config-samlAUR,用于 Jans Config API。
配置
执行
# /usr/share/jans/bin/generate_config.sh saml keycloak.example.org
LDAP
# opendj-ldapmodify -D "cn=Directory Manager" -p 1389 -w $PASSWORD /tmp/jansconfig/saml.ldif
Jans Casa
Jans Casa 是一个自助服务 Web 门户,供最终用户管理其 Janssen 服务器帐户的身份验证和授权首选项。
安装
安装 jans-casaAUR。
配置
执行
# /usr/share/jans/bin/generate_config.sh casa example.org:8080
LDAP
# opendj-ldapmodify -D "cn=Directory Manager" -p 1389 -w $PASSWORD /tmp/jansconfig/casa.ldif
Web 服务器
Jetty
添加必要的模块
# java -jar /usr/share/jetty11/start.jar jetty.base=/etc/jetty11 --add-module=deploy,jsp,websocket-jakarta,logging-log4j2,http,console-capture,cdi-decorate
安装 webapp
# ln -sf /etc/jans/jetty/webapps/casa.xml /var/lib/jetty11/webapps/ # ln -sf /etc/jans/jetty/webapps/jans-casa_web_resources.xml /var/lib/jetty11/webapps/