[keycloak-user] Information about keyckoak client_assertion_type
Marek Posolda
mposolda at redhat.com
Wed Mar 22 03:49:26 EDT 2017
On 21/03/17 19:48, Thibaut.Castaing at isocel.info wrote:
> Hi all,
>
> i'm currently working on Keycloack and its integration in our architecture
> witch is composed of several modules.
>
> According to the documentation i plan to
> - create a realm (witch is related to my organisation)
> - create "clients" for every applications i would like to secure with
> keycloak.
>
> I don't want to manage roles at realm level (for organisational and
> security reasons). I want to manage roles by client (using eventually a
> client template if several modules share the same configuration).
>
> In this mode, i would like to be abble, from a given resource in the
> context of an authenticated client (authenticate from the brower
> authentification), to retrieve roles for a given remote "client' in order
> to male a remote call to its api using the right roles.
> i would like to know if it's possible from a given backend client to ask
> to Keycloak an "access_token" for an other client using the current
> authenticated user (and so its related jwt token).
Access token for "client-a" can eventually contain also client roles of
"client-b" . You just need to ensure that "client-a" has either
FullScopeAllowed or it has scopes to roles of "client-b". Scopes can be
defined also per client templates.
Maybe this is easier way to accomplish what you need instead of
exchanging tokens?
>
> i plan to use a client authentificator client_assertion_type with the
> current user token. Is it the right solution ?
The JWT client authenticator, which we provide OOTB, is able to
authenticate client against Keycloak server with the short-lived JWT
token created by the client adapter itself. There is no support for
authenticate (exchange) based on other access token of authenticated user.
If you really need exchanging tokens, you can maybe implement your own
REST endpoint for it. We have some example for it in the
keycloak-examples distribution in directory "providers". You can take a
look at tokenIntrospection endpoint for inspiration how to verify
existing token etc. Also you can maybe take a look at our authorization
stuff, it can maybe also have something, which can help you (I am not
deeply familiar with it, so not sure).
Marek
>
> Thks for your reply.
> _______________________________________________
> keycloak-user mailing list
> keycloak-user at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/keycloak-user
More information about the keycloak-user
mailing list