Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Client types - milestone 1 #22262

@mposolda

Description

@mposolda

Description

Target

Have built-in client types working with the basic client properties and with JSON client type provider

Target - details

  • Cleanup prototype https://github.com/mposolda/keycloak/tree/client-types (or do we want to start new impl from scratch?). This is old prototype from December 2021.
    • Commits should be squashed
    • Stuff related to old admin console will need to be removed from it as old admin console was removed from Keycloak main since this prototype was done)
    • Prototype would need to be updated/rebased to latest Keycloak main
    • Maybe some cleanup and TODO can be addressed (but can be left for later too)
  • Make sure we have Profile.CLIENT_TYPE as PREVIEW feature and everything related to client types is wrapped within that
  • Support only for simple client fields (String, Boolean etc). Not yet necessary for "Compound" fields (redirect URIs, roles etc). Those can be handled in next milestones...
  • Is configuration format good enough? Here is the current format in the prototype https://github.com/mposolda/keycloak/blob/client-types/services/src/main/resources/keycloak-default-client-types.json and here link to GH discussion where it was discussed: Client types - JSON format, configuration examples #9066. If not good enough, we can still change it later (as long as client types is PREVIEW feature)
  • No need to have support in new admin console yet in this milestone (for both clients or CRUD of client types)
  • No need to have support for CRUD of client types in this milestone. Assume we have already "built-in" client types at this stage, which are defined in file keycloak-default-client-types.json
  • Type is optional field when creating client. It should be fine to create client without client type
  • Maybe some basic automated tests?
    • Creating client of some clientType
    • Check that it has default values of properties set as expected (for instance service-account client type client is created with service account flow enabled etc.
    • Check that properties, which should be read-only are really read-only

Discussion

#8497
#9066

Motivation

No response

Sub-issues

Metadata

Metadata

Assignees

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions