Repository navigation
Move the Device Flow Support behind a dedicated feature flag #23700
thomasdarimont
started this conversation in
Ideas
Replies: 1 comment 5 replies
|
After giving this idea a bit more thought, I still think it would be helpful to be able the device flow feature for the whole server. However, I also think that it would be helpful to be able to explicitly enable / disable features like device-flow per realm. |
5 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
The OAuth Device Flow capability has been shipped with Keycloak 13.0 and has since been enabled by default.
To use the Device Flow, one needs to create a client with the device flow enabled. Only with such a client device flow can it be used.
However, the device flow capability is always advertised via the ./well-known/openid-configuration document.
Although Keycloak supports ways to customize the response of the openid-configuration endpoint, the endpoints to handle device-flow authentication are still exposed. Of course, those endpoints can be explicitly blocked with an external reverse proxy.
In most of our customer projects, we learned that customers would prefer to turn off device-flow support if they don't want to support it explicitly. Otherwise it gives their (3rd party) clients the wrong impression that certain functionality is supported when it is in fact not.
Therefore, I propose to put the support for OAuth2 Device Flow behind a dedicated feature flag like (DEVICE_FLOW). This flag could be enabled by default for a few versions and then turned off to give users time to adapt.
In addition, in some environments, moving this feature flag from a global flag to a realm-level flag might make sense, e.g., for SaaS scenarios where a realm is used as the unit of multi-tenancy.
The DEVICE_FLOW feature flag should be considered in the following places:
What do you think about that?
All reactions