Skip to content

Create SPI and Provider for Verifiable Credentials Signing #25937 - #25947

Closed
wistefan wants to merge 121 commits into
keycloak:mainfrom
wistefan:25937-create-spi-and-provider-for-verifiable-credentials-signing
Closed

wistefan wants to merge 121 commits into
keycloak:mainfrom
wistefan:25937-create-spi-and-provider-for-verifiable-credentials-signing

Conversation

@wistefan

@wistefan wistefan commented Jan 5, 2024 •

Copy link
Copy Markdown
Contributor

The PR adds implementations for SPI and Provider factories and interfaces to prepare the implementation of the #25936 feature.

Closes #25937

@wistefan
wistefan requested a review from a team as a code owner January 5, 2024 13:17
@wistefan
wistefan force-pushed the 25937-create-spi-and-provider-for-verifiable-credentials-signing branch 2 times, most recently from df6d696 to 656e317 Compare January 5, 2024 13:46
@mposolda mposolda self-assigned this Jan 17, 2024

@mposolda mposolda left a comment •

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks! Added 2 minor comments inline.

Additional comment: Is it possible to introduce EXPERIMENTAL feature OID4VC into the org.keycloak.common.Profile ? Then also make sure that your factories (jwtSigningServiceProviderFactory, LDSigningServiceProviderFactory, VCSigningServiceProviderFactory) all implement EnvironmentDependentFactory and are supported just when the feature is enabled?

I appreciate the factories are not yet enabled anyway, but I would appreciate them to be "hidden" behind the feature flag from day 1, so we don't forget at it later.

NOTE: This will require some minor changes in few tests like ProfileTest and some help* files used during quarkus distribution tests. For example see this commit for the inspiration 7da52a43 ,

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Minor: Is it possible to use same padding like other Keycloak classes? So 4 characters only in java classes?

@wistefan wistefan Jan 17, 2024 •

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

fixed by #f74153f

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is it possible to make sure that the class referenced from here is an interface rather than abstract class? It currently works with an abstract class, but AFAIK it is not recommended pattern and it is possible this can cause issues in the future (if Keycloak later does some refactoring in providers initialization part etc).

Hopefully just something minor like having interface VCSigningServiceProviderFactory and rename current abstract class to AbstractVCSigningServiceProviderFactory will do the job?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

fixed by #7d5dea4

@wistefan

Copy link
Copy Markdown
Contributor Author

Thanks! Added 2 minor comments inline.

Additional comment: Is it possible to introduce EXPERIMENTAL feature OID4VC into the org.keycloak.common.Profile ? Then also make sure that your factories (jwtSigningServiceProviderFactory, LDSigningServiceProviderFactory, VCSigningServiceProviderFactory) all implement EnvironmentDependentFactory and are supported just when the feature is enabled?

I appreciate the factories are not yet enabled anyway, but I would appreciate them to be "hidden" behind the feature flag from day 1, so we don't forget at it later.

Hi, yes I will add it. Was just not aware of it.

@mposolda

Copy link
Copy Markdown
Contributor

@tnorimat @thomasdarimont Anyone of you can also review this please?

@wistefan

Copy link
Copy Markdown
Contributor Author

Thanks! Added 2 minor comments inline.
Additional comment: Is it possible to introduce EXPERIMENTAL feature OID4VC into the org.keycloak.common.Profile ? Then also make sure that your factories (jwtSigningServiceProviderFactory, LDSigningServiceProviderFactory, VCSigningServiceProviderFactory) all implement EnvironmentDependentFactory and are supported just when the feature is enabled?
I appreciate the factories are not yet enabled anyway, but I would appreciate them to be "hidden" behind the feature flag from day 1, so we don't forget at it later.

Hi, yes I will add it. Was just not aware of it.

Fixed by #1e5d94d

wistefan and others added 20 commits January 17, 2024 10:48
Signed-off-by: Stefan Wiedemann <wistefan@googlemail.com>
Signed-off-by: Stefan Wiedemann <wistefan@googlemail.com>
Throw ModelException if name is empty when creating/updating a realm

Closes keycloak#17449

Signed-off-by: atharva kshirsagar <atharva4894@gmail.com>
Signed-off-by: Alexander Schwartz <aschwart@redhat.com>
Co-authored-by: Alexander Schwartz <aschwart@redhat.com>
Signed-off-by: Stefan Wiedemann <wistefan@googlemail.com>
…k#25944)

Signed-off-by: Jon Koops <jonkoops@gmail.com>
Signed-off-by: Stefan Wiedemann <wistefan@googlemail.com>
Signed-off-by: Alice W <105500542+alice-wondered@users.noreply.github.com>
Signed-off-by: Stefan Wiedemann <wistefan@googlemail.com>
Closes: keycloak#25951

Signed-off-by: Hynek Mlnarik <hmlnarik@redhat.com>
Signed-off-by: Stefan Wiedemann <wistefan@googlemail.com>
Closes keycloak#22691

Signed-off-by: Pedro Igor <pigor.craveiro@gmail.com>
Signed-off-by: Stefan Wiedemann <wistefan@googlemail.com>
Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 5.0.10 to 5.0.11.
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v5.0.11/packages/vite)

---
updated-dependencies:
- dependency-name: vite
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: Stefan Wiedemann <wistefan@googlemail.com>
Bumps [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) from 6.17.0 to 6.18.0.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/parser/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v6.18.0/packages/parser)

---
updated-dependencies:
- dependency-name: "@typescript-eslint/parser"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: Stefan Wiedemann <wistefan@googlemail.com>
Bumps [rollup](https://github.com/rollup/rollup) from 4.9.2 to 4.9.4.
- [Release notes](https://github.com/rollup/rollup/releases)
- [Changelog](https://github.com/rollup/rollup/blob/master/CHANGELOG.md)
- [Commits](rollup/rollup@v4.9.2...v4.9.4)

---
updated-dependencies:
- dependency-name: rollup
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: Stefan Wiedemann <wistefan@googlemail.com>
Bumps [rollup](https://github.com/rollup/rollup) from 4.9.2 to 4.9.4.
- [Release notes](https://github.com/rollup/rollup/releases)
- [Changelog](https://github.com/rollup/rollup/blob/master/CHANGELOG.md)
- [Commits](rollup/rollup@v4.9.2...v4.9.4)

---
updated-dependencies:
- dependency-name: rollup
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: Stefan Wiedemann <wistefan@googlemail.com>
Bumps [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) from 6.17.0 to 6.18.0.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v6.18.0/packages/eslint-plugin)

---
updated-dependencies:
- dependency-name: "@typescript-eslint/eslint-plugin"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: Stefan Wiedemann <wistefan@googlemail.com>
Bumps [@types/react](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react) from 18.2.46 to 18.2.47.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/react)

---
updated-dependencies:
- dependency-name: "@types/react"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: Stefan Wiedemann <wistefan@googlemail.com>
Bumps [jsdom](https://github.com/jsdom/jsdom) from 23.0.1 to 23.2.0.
- [Release notes](https://github.com/jsdom/jsdom/releases)
- [Changelog](https://github.com/jsdom/jsdom/blob/main/Changelog.md)
- [Commits](jsdom/jsdom@23.0.1...23.2.0)

---
updated-dependencies:
- dependency-name: jsdom
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Signed-off-by: Stefan Wiedemann <wistefan@googlemail.com>
Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 20.10.6 to 20.10.7.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

---
updated-dependencies:
- dependency-name: "@types/node"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: Stefan Wiedemann <wistefan@googlemail.com>
Signed-off-by: Tomas Ondrusko <tondrusk@redhat.com>
Signed-off-by: Stefan Wiedemann <wistefan@googlemail.com>
Signed-off-by: potterhe <potter.he@gmail.com>
Signed-off-by: Stefan Wiedemann <wistefan@googlemail.com>
Bumps [i18next](https://github.com/i18next/i18next) from 23.7.15 to 23.7.16.
- [Release notes](https://github.com/i18next/i18next/releases)
- [Changelog](https://github.com/i18next/i18next/blob/master/CHANGELOG.md)
- [Commits](i18next/i18next@v23.7.15...v23.7.16)

---
updated-dependencies:
- dependency-name: i18next
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Signed-off-by: Stefan Wiedemann <wistefan@googlemail.com>
…k#25895)

Closes keycloak#25894

Signed-off-by: Jon Koops <jonkoops@gmail.com>
Signed-off-by: Stefan Wiedemann <wistefan@googlemail.com>
* Add new localization tabs to Administration Console

Closes keycloak#23057

Signed-off-by: Agnieszka <agancarc@redhat.com>
Signed-off-by: Jon Koops <jonkoops@gmail.com>

* css cleanup

Signed-off-by: Agnieszka Gancarczyk <agancarc@redhat.com>

* css cleanup

Signed-off-by: Agnieszka Gancarczyk <agancarc@redhat.com>

---------

Signed-off-by: Agnieszka <agancarc@redhat.com>
Signed-off-by: Jon Koops <jonkoops@gmail.com>
Signed-off-by: Agnieszka Gancarczyk <agancarc@redhat.com>
Co-authored-by: Jon Koops <jonkoops@gmail.com>
Co-authored-by: Agnieszka Gancarczyk <agancarc@redhat.com>
Signed-off-by: Stefan Wiedemann <wistefan@googlemail.com>
edewit and others added 8 commits January 17, 2024 10:48
fixes: keycloak#25939

Signed-off-by: Erik Jan de Wit <erikjan.dewit@gmail.com>
Signed-off-by: Stefan Wiedemann <wistefan@googlemail.com>
…ycloak#26034)

Signed-off-by: Peter Keuter <github@peterkeuter.nl>
Signed-off-by: Stefan Wiedemann <wistefan@googlemail.com>
Signed-off-by: Felix Gustavsson <felix.gustavsson@topgolf.com>
Signed-off-by: Stefan Wiedemann <wistefan@googlemail.com>
Closes keycloak#26148

Signed-off-by: Alfredo Moises Boullosa <aboullos@redhat.com>
Signed-off-by: Stefan Wiedemann <wistefan@googlemail.com>
Closes keycloak#26241

Signed-off-by: Martin Bartoš <mabartos@redhat.com>
Signed-off-by: Stefan Wiedemann <wistefan@googlemail.com>
Signed-off-by: Stefan Wiedemann <wistefan@googlemail.com>
make provider factory an interface

Signed-off-by: Stefan Wiedemann <wistefan@googlemail.com>
Signed-off-by: Stefan Wiedemann <wistefan@googlemail.com>
@wistefan
wistefan force-pushed the 25937-create-spi-and-provider-for-verifiable-credentials-signing branch from 1e5d94d to c81dff9 Compare January 17, 2024 09:49
@wistefan
wistefan requested a review from a team as a code owner January 17, 2024 09:49
@wistefan
wistefan requested a review from a team January 17, 2024 09:49
@wistefan
wistefan requested review from a team as code owners January 17, 2024 09:49
@jonkoops

Copy link
Copy Markdown
Contributor

Closing this PR as a bunch of unrelated commits have been added. Feel free to open up a new one so the reviewers are reset.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Create SPI and Provider for Verifiable Credentials Signing