Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(jans-linux-setup): jans-keycloak-storage-api related changes #6142

Closed
pujavs opened this issue Sep 25, 2023 · 1 comment
Closed

feat(jans-linux-setup): jans-keycloak-storage-api related changes #6142

pujavs opened this issue Sep 25, 2023 · 1 comment
Assignees
Labels
comp-jans-linux-setup Component affected by issue or PR kind-feature Issue or PR is a new feature request
Milestone

Comments

@pujavs
Copy link
Contributor

pujavs commented Sep 25, 2023

1. Prerequisite: Keycloak installation. Details regarding installation will be provided by @uprightech.

3. Create new SCIM client in jans DB to be used for Keycloak. New Keycloak SCIM KC client should have

  • 3.1. grantType
    authorization_code
    client_credentials
    password
    refresh_token
  • 3.2. authorization_method
    client_secret_basic
    client_secret_post
  • 3.3. Scopes
    inum=F0C4,ou=scopes,o=jans (openid)
    inum=1200.56C243,ou=scopes,o=jans (https://jans.io/scim/users.write)
    inum=1200.8E1EE6,ou=scopes,o=jans (https://jans.io/scim/users.read)

4. Create log folder and give appropriate permission for the KC component to be able to write to the log folder.

    example: mkdir -p /opt/keycloak/logs

5. Create jans-keycloak-storage-api.properties in /opt/keycloak/providers/

Template uploaded here https://github.com/JanssenProject/jans/blob/jans-config-5148/jans-keycloak/storage-api/src/main/resources/jans-keycloak-storage-api.properties
Place holder values for ${keycloak.server.url}, ${auth.server.url}, ${keycloak.scim.client.id},${keycloak.scim.client.password}

6. jans-keycloak-storage-api steps

  • 6.1 Copy jans-keycloak-storage-api jar from maven to installation Keycloak provider folder -> https://maven.jans.io/maven/io/jans/jans-keycloak-storage-api/<version>/
    to /opt/keycloak/providers/
    Example: https://maven.jans.io/maven/io/jans/jans-keycloak-storage-api/1.0.19-SNAPSHOT/

  • 6.2. Copy jans-scim-model.jar from maven to installation Keycloak provider folder -> https://maven.jans.io/maven/io/jans/jans-scim-model/<version>/
    to /opt/keycloak/providers/

  • 6.3. Copy Extract jars from following dependency zip jans-keycloak-storage-api.zip from maven to installation Keycloak provider folder -> https://maven.jans.io/maven/io/jans/jans-keycloak-storage-api/<version>/jans-keycloak-storage-api.zip
    to /opt/keycloak/providers/
    example: https://maven.jans.io/maven/io/jans/jans-keycloak-storage-api/1.0.19-SNAPSHOT/jans-keycloak-storage-api.zip
    image

  • 6.4. When Keycloak server is started need to pass the log folder and properties file param
    Example: sudo JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64 /opt/keycloak/bin/kc.sh start-dev --http-port 8083 --log="console,file" --log-file="/opt/keycloak/logs/keycloak.log" -Dlog.base="/opt/keycloak/logs/jans-keycloak.log" -Djans.config.prop.path="/opt/keycloak/providers"

  • 6.5. Admin will have to install the new jans-keycloak-storage-api as federated identity provider using Keycloak admin console

  • Related issue 6177

@pujavs pujavs self-assigned this Sep 25, 2023
@mo-auto mo-auto added comp-jans-linux-setup Component affected by issue or PR kind-feature Issue or PR is a new feature request labels Sep 25, 2023
moabu pushed a commit that referenced this issue Oct 10, 2023
…and keycloak storage provider to jans store (#6155)

* feat(config-api): saml plugin wip

* feat(config-api): saml plugin wip

* feat(config-api): sync with main

* feat(config-api): saml plugin wip

* feat(config-api): sync with main

* feat(config-api): saml plugin wip

* feat(config-api): saml plugin wip

* feat(config-api): saml plugin wip

* feat(config-api): saml plugin wip

* feat(config-api): saml plugin wip

* feat(config-api): saml plugin wip

* feat(config-api): saml plugin - client endpoints

* feat(config-api): saml plugin - client endpoints

* feat(config-api): saml plugin - client endpoints

* feat(config-api): saml plugin code wip

* feat(config-api): saml plugin code wip

* feat(config-api): sync with main

* feat(config-api): saml-plugin wip

* feat(config-api): saml-plugin wip

* feat(config-api): saml-plugin wip

* feat(config-api): saml-plugin wip

* feat(config-api): saml-plugin wip

* feat(config-api): saml-plugin wip

* feat(config-api): saml-plugin wip

* feat(config-api): saml-plugin wip

* feat(config-api): saml-plugin - wip

* feat(config-api): rename saml model class

* feat(config-api): saml plugin schema changes

* feat(config-api): saml schema changes

* feat(config-api): saml plugin schema

* feat(config-api): saml plugin with new schema

* feat(config-api): saml plugin data

* feat(config-api): saml plugin code to save in DB

* feat(config-api): rectification of model class

* feat(config-api): saml line meta file wip

* feat(config-api): saml plugin persist in DB code

* feat(config-api): saml plugin persist in DB code

* feat(config-api): sync with main

* feat(config-api): saml plugin wip

* feat(config-api): saml plugin wip

* feat(config-api): saml plugin wip

* feat(config-api): saml plugin

* feat(config-api): saml plugin

* feat(config-api): saml plugin

* feat(config-api): saml plugin with local document store

* feat(config-api): saml plugin

* feat(config-api): saml plugin wip

* feat(config-api): sync with main

* feat(config-api): saml-plugin

* feat(config-api): saml-plugin code

* feat(config-api): saml-plugin code

* feat(config-api): saml plugin

* feat(config-api): saml plugin changes for metafile uplaod

* feat(config-api): saml-plugin wip

* feat(config-api): saml plugin meta-data file uplaod

* feat(config-api): saml config changes wip

* feat(config-api): saml config changes wip

* feat(config-api): saml config wip

* feat(jans-linux-setup): saml installer template

* feat(config-api): saml config code wip

* feat(config-api): saml config endpoint

* feat(config-api): saml config endpoint

* feat(config-api): spec change

* feat(config-api): sync with main

* feat(config-api): sync with main

* feat(config-api): saml config endpoint

* feat(config-api): saml conffig endpoint

* feat(config-api): saml conffig endpoint

* feat(config-api): saml conffig endpoint

* feat(config-api): saml plugin removed keycloak ref

* feat(config-api): saml plugin spec rectification

* feat(config-api): saml plugin config endpoint

* fix(jans-linux-setup): prompt for saml installation

* feat(config-api): implemented code review comment

* feat(config-api): metadata file validation

* feat(config-api): saml plugin metadata file validations

* feat(config-api): metafile validation

* feat(config-api): metafile validation

* feat(config-api): metafile validation

* feat(config-api): metadata file validation dependencies

* feat(config-api): metadata file validation dependencies

* feat(config-api): saml metafile validation wip

* feat(config-api): metafile validation

* feat(config-api): sync with  main

* feat(config-api): metadata file pom changes

* feat(config-api): metadata file pom changes

* feat(config-api): metadatafile processing

* feat(config-api): metadatafile process old files

* feat(config-api): metadatafile process old files

* feat(config-api): spec changes

* feat(config-api): schema changes

* feat(config-api): saml sp metedata file validation function added

* feat(config-api): user storage spi wip

* feat(config-api): keycloak user storage SPI poc

* feat(config-api): spec changes

* feat(config-api): keycloak user storage api - wip

Signed-off-by: pujavs <pujas.works@gmail.com>

* feat(config-api): keycloak user storage spi

* feat(config-api): keycloak user storage spi

* feat(config-api): user storage spi

* feat(config-api): user storage spi

* feat(config-api): user storage spi

* feat(config-api): spec changes

* feat(config-api): spec changes

* feat(jans-config-api): sync with main

Signed-off-by: pujavs <pujas.works@gmail.com>

* feat(jans-keycloak): added kc code

Signed-off-by: pujavs <pujas.works@gmail.com>

* feat(jans-keycloak): new jans-keycloak module

Signed-off-by: pujavs <pujas.works@gmail.com>

* feat(jans-keycloak): new jans-keycloak module

Signed-off-by: pujavs <pujas.works@gmail.com>

* feat(jans-keycloak): new jans-keycloak module

Signed-off-by: pujavs <pujas.works@gmail.com>

* feat(jans-keycloak): new jans-keycloak module

Signed-off-by: pujavs <pujas.works@gmail.com>

* feat(jans-keycloak): new jans-keycloak module

Signed-off-by: pujavs <pujas.works@gmail.com>

* feat(config-api): dependency jar zip creation

Signed-off-by: pujavs <pujas.works@gmail.com>

* feat(config-api): sync with main

Signed-off-by: pujavs <pujas.works@gmail.com>

* feat(config-api): removed redundant code

Signed-off-by: pujavs <pujas.works@gmail.com>

* feat(jans-keycloak): dependency changes

Signed-off-by: pujavs <pujas.works@gmail.com>

* feat(jans-setup): merge conflict resolution

Signed-off-by: pujavs <pujas.works@gmail.com>

* feat(jans-setup): merge conflict resolution

Signed-off-by: pujavs <pujas.works@gmail.com>

* feat(config-api, keycloak): code quality issue fix)

Signed-off-by: pujavs <pujas.works@gmail.com>

* feat(config-api, keycloak): code quality issue fix)

Signed-off-by: pujavs <pujas.works@gmail.com>

* fix(jans-linux-setup): dynamic opt path

* feat(jans-linux-setup): jans-keycloak-storage-api related changes (ref: #6142)

* chore(jans-linux-setup): remove non-related files from this branch

* fix(jans-linux-setup): create directory before writing client ldif

* feat(config-api): dependency changes

Signed-off-by: pujavs <pujas.works@gmail.com>

* feat(jans-linux-setup): KC installation

* fix(jans-linux-setup): remove backup file

* fix(jans-linux-setup): rename jans-authenticator as kc-jans-authn-plugin

---------

Signed-off-by: pujavs <pujas.works@gmail.com>
Co-authored-by: Mustafa Baser <mbaser@mail.com>
Co-authored-by: Devrim <devrimyatar@gluu.org>
@moabu moabu added this to the 1.0.20 milestone Oct 25, 2023
@moabu moabu modified the milestones: 1.0.20, 1.0.21 Nov 22, 2023
@devrimyatar
Copy link
Contributor

Implemented

devrimyatar added a commit that referenced this issue Dec 30, 2023
…and keycloak storage provider to jans store (#6155)

* feat(config-api): saml plugin wip

* feat(config-api): saml plugin wip

* feat(config-api): sync with main

* feat(config-api): saml plugin wip

* feat(config-api): sync with main

* feat(config-api): saml plugin wip

* feat(config-api): saml plugin wip

* feat(config-api): saml plugin wip

* feat(config-api): saml plugin wip

* feat(config-api): saml plugin wip

* feat(config-api): saml plugin wip

* feat(config-api): saml plugin - client endpoints

* feat(config-api): saml plugin - client endpoints

* feat(config-api): saml plugin - client endpoints

* feat(config-api): saml plugin code wip

* feat(config-api): saml plugin code wip

* feat(config-api): sync with main

* feat(config-api): saml-plugin wip

* feat(config-api): saml-plugin wip

* feat(config-api): saml-plugin wip

* feat(config-api): saml-plugin wip

* feat(config-api): saml-plugin wip

* feat(config-api): saml-plugin wip

* feat(config-api): saml-plugin wip

* feat(config-api): saml-plugin wip

* feat(config-api): saml-plugin - wip

* feat(config-api): rename saml model class

* feat(config-api): saml plugin schema changes

* feat(config-api): saml schema changes

* feat(config-api): saml plugin schema

* feat(config-api): saml plugin with new schema

* feat(config-api): saml plugin data

* feat(config-api): saml plugin code to save in DB

* feat(config-api): rectification of model class

* feat(config-api): saml line meta file wip

* feat(config-api): saml plugin persist in DB code

* feat(config-api): saml plugin persist in DB code

* feat(config-api): sync with main

* feat(config-api): saml plugin wip

* feat(config-api): saml plugin wip

* feat(config-api): saml plugin wip

* feat(config-api): saml plugin

* feat(config-api): saml plugin

* feat(config-api): saml plugin

* feat(config-api): saml plugin with local document store

* feat(config-api): saml plugin

* feat(config-api): saml plugin wip

* feat(config-api): sync with main

* feat(config-api): saml-plugin

* feat(config-api): saml-plugin code

* feat(config-api): saml-plugin code

* feat(config-api): saml plugin

* feat(config-api): saml plugin changes for metafile uplaod

* feat(config-api): saml-plugin wip

* feat(config-api): saml plugin meta-data file uplaod

* feat(config-api): saml config changes wip

* feat(config-api): saml config changes wip

* feat(config-api): saml config wip

* feat(jans-linux-setup): saml installer template

* feat(config-api): saml config code wip

* feat(config-api): saml config endpoint

* feat(config-api): saml config endpoint

* feat(config-api): spec change

* feat(config-api): sync with main

* feat(config-api): sync with main

* feat(config-api): saml config endpoint

* feat(config-api): saml conffig endpoint

* feat(config-api): saml conffig endpoint

* feat(config-api): saml conffig endpoint

* feat(config-api): saml plugin removed keycloak ref

* feat(config-api): saml plugin spec rectification

* feat(config-api): saml plugin config endpoint

* fix(jans-linux-setup): prompt for saml installation

* feat(config-api): implemented code review comment

* feat(config-api): metadata file validation

* feat(config-api): saml plugin metadata file validations

* feat(config-api): metafile validation

* feat(config-api): metafile validation

* feat(config-api): metafile validation

* feat(config-api): metadata file validation dependencies

* feat(config-api): metadata file validation dependencies

* feat(config-api): saml metafile validation wip

* feat(config-api): metafile validation

* feat(config-api): sync with  main

* feat(config-api): metadata file pom changes

* feat(config-api): metadata file pom changes

* feat(config-api): metadatafile processing

* feat(config-api): metadatafile process old files

* feat(config-api): metadatafile process old files

* feat(config-api): spec changes

* feat(config-api): schema changes

* feat(config-api): saml sp metedata file validation function added

* feat(config-api): user storage spi wip

* feat(config-api): keycloak user storage SPI poc

* feat(config-api): spec changes

* feat(config-api): keycloak user storage api - wip

Signed-off-by: pujavs <pujas.works@gmail.com>

* feat(config-api): keycloak user storage spi

* feat(config-api): keycloak user storage spi

* feat(config-api): user storage spi

* feat(config-api): user storage spi

* feat(config-api): user storage spi

* feat(config-api): spec changes

* feat(config-api): spec changes

* feat(jans-config-api): sync with main

Signed-off-by: pujavs <pujas.works@gmail.com>

* feat(jans-keycloak): added kc code

Signed-off-by: pujavs <pujas.works@gmail.com>

* feat(jans-keycloak): new jans-keycloak module

Signed-off-by: pujavs <pujas.works@gmail.com>

* feat(jans-keycloak): new jans-keycloak module

Signed-off-by: pujavs <pujas.works@gmail.com>

* feat(jans-keycloak): new jans-keycloak module

Signed-off-by: pujavs <pujas.works@gmail.com>

* feat(jans-keycloak): new jans-keycloak module

Signed-off-by: pujavs <pujas.works@gmail.com>

* feat(jans-keycloak): new jans-keycloak module

Signed-off-by: pujavs <pujas.works@gmail.com>

* feat(config-api): dependency jar zip creation

Signed-off-by: pujavs <pujas.works@gmail.com>

* feat(config-api): sync with main

Signed-off-by: pujavs <pujas.works@gmail.com>

* feat(config-api): removed redundant code

Signed-off-by: pujavs <pujas.works@gmail.com>

* feat(jans-keycloak): dependency changes

Signed-off-by: pujavs <pujas.works@gmail.com>

* feat(jans-setup): merge conflict resolution

Signed-off-by: pujavs <pujas.works@gmail.com>

* feat(jans-setup): merge conflict resolution

Signed-off-by: pujavs <pujas.works@gmail.com>

* feat(config-api, keycloak): code quality issue fix)

Signed-off-by: pujavs <pujas.works@gmail.com>

* feat(config-api, keycloak): code quality issue fix)

Signed-off-by: pujavs <pujas.works@gmail.com>

* fix(jans-linux-setup): dynamic opt path

* feat(jans-linux-setup): jans-keycloak-storage-api related changes (ref: #6142)

* chore(jans-linux-setup): remove non-related files from this branch

* fix(jans-linux-setup): create directory before writing client ldif

* feat(config-api): dependency changes

Signed-off-by: pujavs <pujas.works@gmail.com>

* feat(jans-linux-setup): KC installation

* fix(jans-linux-setup): remove backup file

* fix(jans-linux-setup): rename jans-authenticator as kc-jans-authn-plugin

---------

Signed-off-by: pujavs <pujas.works@gmail.com>
Co-authored-by: Mustafa Baser <mbaser@mail.com>
Co-authored-by: Devrim <devrimyatar@gluu.org>
Signed-off-by: Mustafa Baser <mbaser@mail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
comp-jans-linux-setup Component affected by issue or PR kind-feature Issue or PR is a new feature request
Projects
None yet
Development

No branches or pull requests

4 participants