Hi,
When reviewing the Account REST API based on our guidelines [1], I realized
that we should implement APIs on top of a specific SPI.
As you might know, today we have the RealmResourceSPI [2] which kinds of
provides a hook to plug additional APIs into Keycloak. However, the
RealmResourceSPI was created for a different purpose and is too generic.
The idea behind the new SPI is that it will serve as an entry point for any
API we implement for now on, being specific for the addition and management
of APIs based on our guidelines. We would still keep the RealmResourceSPI
as it is in order to not break backward compatibility. As we result, we
should be able to:
* Enhanced pluggability of new APIs
* Versioning
* Control over APIs marked as a technology preview or extensions
* Better separation and loose-coupled APIs
* Manage APIs individually as well as their respective versions
Please, let me know what you think.
Regards.
Pedro Igor
[1]
https://github.com/keycloak/keycloak-community/pull/4
[2]
https://github.com/keycloak/keycloak/blob/7e33f4a7d1cbf2b37aa2a6d5b87dfe7...