Jans

来自 ArchWiki

Janssen Project 是一个开源数字身份平台,提供 OAuth 授权服务器和经过认证的 OpenID Connect 提供程序。它是 Keycloak 的替代品。

Jans Auth Server

一个非常完整的 Java OAuth 授权服务器和经过认证的 OpenID Connect 提供程序。

安装

安装 jans-auth-serverAUR

配置

Jans 支持多种数据库后端 LDAPCouchbasePostgreSQLMySQLSpanner

编辑 /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

可用的插件

配置

执行

# /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-serverAURjans-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-fido2AURjans-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-linkAURjans-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/


参见