JanssenProject / JanssenProject/jans

feat(jans-linux-setup): shibboleth-plugin related changes

Open
#13,875 1 comment 1 reaction 1 assignee Claimed by @devrimyatar View on GitHub
comp-jans-linux-setup kind-feature
Dominant language
Java
Stars
647
Forks
173
Avg merge
1d 18h
Merged PRs (30d)
110

Description

### Config API Shibboleth Plugin Changes

This requirement is related to setup changes for new shibboleth-plugin for Config API which is part of Shibboleth IdP Trust Relationship Implementation. @uprightech to be reached for Shibboleth server installation changes if any.

1) DB config changes: For plugin to work we need it to be installed if Shibboleth is selected
- New config definition is **ou=jans-shibboleth-idp,ou=configuration,o=jans**
[Note: this is also defined in https://github.com/JanssenProject/jans/blob/jans-config-14773/jans-linux-setup/jans_setup/templates/jans.properties#L9)
- Config json -> https://github.com/JanssenProject/jans/blob/jans-config-14773/jans-linux-setup/jans_setup/templates/jans-shibboleth-idp/jans-shibboleth-idp-config.json

2) New directory structure to be created on jans server to store metadata file during installation of shibboleth-plugin--nightly.jar
Note: jans-config-api should be able to access and update this directory
#Dir for SP
mkdir -p /opt/shibboleth-idp/metadata
chown jetty:jetty /opt/shibboleth-idp/metadata
chmod 0760 /opt/shibboleth-idp/metadata

3) shibboleth-plugin: Jetty changes to configure new config-api plugin **shibboleth-plugin**
3.1 Copy new plugin jar: Copy shibboleth-plugin--nightly.jar from maven repo -> https://maven.jans.io/maven/io/jans/jans-config-api/plugins/shibboleth-plugin/
to /opt/jans/jetty/jans-config-api/custom/libs/

3.2 Rename jar to shibboleth-plugin.jar in /opt/jans/jetty/jans-config-api/ custom/libs/

3.3 jans-config-api.xml changes: Modify /opt/jans/jetty/jans-config-api/webapps/jans-config-api.xml to append entry for new plugin /opt/jans/jetty/jans-config-api/custom/libs/shibboleth-plugin.jar
Example entry for reference
/opt/jans/jetty/jans-config-api/custom/libs/user-mgt-plugin.jar,/opt/jans/jetty/jans-config-api/custom/libs/scim-plugin.jar,/opt/jans/jetty/jans-config-api/custom/libs/fido2-plugin.jar,/opt/jans/jetty/jans-config-api/custom/libs/lock-plugin.jar,/opt/jans/jetty/jans-config-api/custom/libs/shibboleth-plugin.jar

4) New scopes: Create new scopes and add to the jans-config-api client. Details of the endpoint and scope as usual is in /jans-config-api/server/src/main/resources/config-api-rs-protect.json - This code should already be existing in jans-linux-setup but mentioning for completeness. New endpoint -/jans-config-api/shibboleth/`

**Note:** Jans Config API changes for shibboleth-plugin endpoints is still in branch https://github.com/JanssenProject/jans/blob/jans-config-14773

**Related issues:**
#[14773](https://github.com/JanssenProject/jans/issues/14773)

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.