Open stianst opened 5 months ago
Adding to "What is an extension?":
We should also provide something like a keycloak-platform-bom or an keycloak-extension-bom that references all libraries available within the Keycloak distribution for a particular version.
Developers who want to write an extension should only need two (currently fictional dependencies):
<dependencyManagement>
<dependencies>
<dependency>
<!-- provides the keycloak libraries for the given keycloak base -->
<groupId>org.keycloak</groupId>
<artifactId>keycloak-platform-bom</artifactId>
<version>${keycloak.version}</version>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<dependency>
<!-- all APIs available for extension development -->
<groupId>org.keycloak</groupId>
<artifactId>keycloak-platform</artifactId>
<version>${keycloak.version}</version>
<scope>provided</scope>
</dependency>
<!-- if we had dedicated modules, users could declare a dependency to a specific module instead of refering to the keycloak-platform, e.g. oidc extensions -->
<dependency>
<!-- all APIs within the oidc protocol context -->
<groupId>org.keycloak</groupId>
<artifactId>keycloak-oidc</artifactId>
<version>${keycloak.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<!-- testing integration -> new test framework? -->
<groupId>org.keycloak</groupId>
<artifactId>keycloak-platform-test</artifactId>
<version>${keycloak.version}</version>
<scope>test</scope>
</dependency>
</dependencies>
Description
Improving our developer and extension story
What is an extension?
What can be improved
What could a marketplace do?
Discussion
None
Issues
No response
Motivation
No response