JanssenProject / jans

An open source enterprise digital identity platform for CIAM or workforce... Janssen is a distribution of standards-based, developer friendly, components that are engineered to work together in any cloud. #OAuth #OpenID #FIDO
https://docs.jans.io
Apache License 2.0
459 stars 73 forks source link

feat(ui): integrate config-idp-plugin functionlity #6795

Closed pujavs closed 1 day ago

pujavs commented 10 months ago

Inbound SAML functionality exposed via config-api-idp-plugin needs to be integrated with UI

Screens for:

  1. jans-config-api/kc/samlConfig: to manage Jans KC configuration in DB inline with existing Config API/SCMI/Fido2... config property management. Config Properties JSON as follows { "applicationName":"saml", "samlTrustRelationshipDn":"ou=trustRelationships,o=jans", "trustedIdpDn":"ou=trusted-idp,o=jans", "enabled": "true", "selectedIdp": "keycloak", "serverUrl":"http://localhost:8180", "realm": "master", "clientId": "my-client-1",
    "clientSecret": "aqOMI7DhNxCFbW0IieBHSrdA6HMTwxiQ", "grantType": "PASSWORD", "username": "admin1", "password": "admin123",
    "spMetadataUrl":"/realms/%s/broker/%s/endpoint/descriptor", "idpRootDir": "/opt/jans/idp/", "idpMetadataDir": "/opt/idp/configs/keycloak/idp/metadata", "idpMetadataTempDir": "/opt/idp/configs/keycloak/idp/temp_metadata", "idpMetadataFilePattern":"%s-idp-metadata.xml", "idpMetadataFile":"idp-metadata.xml", "spMetadataDir": "/opt/idp/configs/keycloak/sp/metadata", "spMetadataTempDir": "/opt/idp/configs/keycloak/sp/temp_metadata", "spMetadataFilePattern":"%s-sp-metadata.xml", "spMetadataFile":"sp-metadata.xml", "ignoreValidation": "false", "idpMetadataMandatoryAttributes": [ "nameIDPolicyFormat", "idpEntityId", "singleSignOnServiceUrl" ] }

  2. jans-config-api/kc/saml/idp/upload: CRUD endpoints for creation and managing KC SAML Identity Broker in Jans DB and KC server. Default Realm will be master, but can be modified by the user.

2.1. Create new SAML IDP Screen - Option#1 Upload Metadata File
image

2.2. Create new SAML IDP Screen - Option#2 Add individual metadata elements image

Note: Sample SAML IDP Metadata file for reference. pujavs-crack-flounder.gluu.info_IDP_Metadata.zip

duttarnab commented 10 months ago

Details of KC SAML TR and IDP plugin

  1. Code has been merged to main -> https://github.com/JanssenProject/jans/tree/main/jans-config-api/plugins/kc-saml-plugin
  2. Link to kc-saml-plugin OpenAPI Spec-> https://gluu.org/swagger-ui/?url=https://raw.githubusercontent.com/JanssenProject/jans/main/jans-config-api/plugins/docs/kc-saml-plugin-swagger.yaml

There is change to IDP Screen to take in metadata directly as input fields.

image

nynymike commented 10 months ago

image

devrimyatar commented 1 day ago

implemented