JanssenProject / JanssenProject/jans
feat(jans-linux-setup): shibboleth-plugin related changes
- 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
Assessment
This issue has not been assessed yet.