Repository navigation
Replies: 2 comments 8 replies
|
@mposolda If I understand the documentation right, you could simulate client-specific policies by using client role conditions, couldn't you? |
2 replies
|
I don't think that we should have client policies per-client. That should just be straightforward client configuration rather than policies. For example if the requirement is to require PKCE for a specific client, just make it a toggle/config on the client, and not something fancy like client policies. Similarly if you want to limit a client to do token exchange only from a list of IdPs, just make it a configuration option. |
6 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.
Right now, we have client policies, which could be defined at the realm level (in the admin console in the "Client policies" tab). Hence it is an opportunity for realm administrator to define some policies (For example specify that all realm clients should be FAPI compliant).
I wonder if we can have also the ability to define client policies per client? This will allow that same feature of client policies could be shared for:
The advantage is, that we will be able to use the same mechanism at different levels and we will not need to duplicate some functionality. For example, today there are some switches on the client, which effectively duplicate some functionality available also on client policies. But when having "per-client policies", we will not need to duplicate same switches on the client as the functionality could be defined by client-policy executor.
At the same time, there might be some challenges with this approach. For example assume that we have client-policy executor, which will allow to specify what are allowed identity providers for the external-internal token exchange . Then assume that there are 3 identity providers in the realm named
idp-a,idp-b,idp-c. Then realm administrator want to make sure thatidp-ccannot be used for external-internal token exchange and hence he defines the client-policy executor, which will allow to exchange just tokens issued byidp-aoridp-b. But what if client administrator define also the executor on the per-client policy to allowidp-c? This will contradict what realm administrator wanted to achieve. To avoid this, we will need to make sure that client admin cannot bypass the rules achieved by realm administrator (similar applies for realm administrator not being able to bypass global administrator).Some though about this?
All reactions