Repository navigation
Replies: 6 comments 10 replies
|
Has post_logout_redirect_uris has enabled as a client option now? |
|
Apart from registering post logout redirect URIs, make sure |
|
I've discussed this with @stianst . There is also an option that "Post Logout Redirect URI" will be possible to use "+" as a value, which would indicate that they will be same as Redirect URIs. This is the same approach, which we use already for "Web Origins", which are also inherited from "Redirect URIs" if the value "+" is used. The migration will require adding "+" as a value to all existing clients. It should be possible to do (assuming that we don't want to change DB schema and hence use client attributes for store post logout URI) with some "Insert with select" SQL query, which would do bulk update for all existing clients, which have at least one redirect URI configured on them: |
|
+1 to supporting the spec semantics but with an option to reuse the same URIs for both. I don't necessarily see it as strictly a backwards compatibility feature (though it is that of course), but it's also a convenience that you might still use for new clients. You may even want to default that to be the same (unless there is some security concern with doing so), because it seems to be the exceptional case that they are different. |
|
@bs-matil Thanks for the feedback and suggestion.
Yes, that is also one alternative. However the potential disadvantage is, that it will need to introduce changes in the DB schema, which I am not 100% sure is acceptable due the work on the new store. As originally I was wondering if Regarding global switch: I am not sure about this option as it is harder to do it in a way that migrated clients would have backwards compatibility enabled by default, but newly created clients not . The DB migration might be the best, however not sure if it is possible... First question is whether to introduce the support for |
|
Sound good. Regards the migration: |
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Current behaviour
Keycloak OIDC client can have set of "Redirect URIs" configured in the admin console. These redirect uris are currently used as valid redirect uris for:
Keycloak currently allows to use any client configured "redirect URI" for both purpose (login callback and logout).
The OIDC specification differs between those 2 cases and it introduces separate client options used in dynamic client registration for both cases:
redirect_urisas client option for login callback: https://openid.net/specs/openid-connect-registration-1_0.html#ClientMetadatapost_logout_redirect_urisas client option used for logout: https://openid.net/specs/openid-connect-rpinitiated-1_0.html#ClientMetadata .New behaviour?
Do we want to make sure that Keycloak is aligned with OIDC specs and introduce separate option for
post_logout_redirect_uris?Advantages of separate options
post_logout_redirect_uris(Clients need to be manually updated during the test, which is a bit hacky)Advantages of current approach with single option
How to address
My vote is to align with OIDC and use separate URIs. However we can have a switch like "Use separate logout redirect URI", which needs to be enabled to use separate redirect URLs for login and logout. This will also address backwards compatibility as existing clients will behave the same. The new clients might have an option to use separate redirect URI for login and logout if they want.
This can be useful for server-side clients, which use the concept of "login callback" redirect URI and similar "logout callback" redirect URI. The fact that they will be separate will make things clearer for those clients. For clients secured by Keycloak adapter (Deprecated right now), this option was not needed as Keycloak adapters did not have concept for "callback" URL (like for example OIDC certification testsuite clients have).
All reactions