[keycloak-dev] Filtering in New Account Console

Stan Silvert ssilvert at redhat.com
Tue Oct 8 11:53:09 EDT 2019


Adding Doug directly to the thread.  He is the one implementing this.

On 10/8/2019 8:59 AM, Marek Posolda wrote:
> On 08. 10. 19 7:54, Stian Thorgersen wrote:
>> Ok, I wasn't aware that the old console was able to list applications 
>> the user is not currently using. Testing it out I can see now it does 
>> indeed do that, but that it is broken as it lists a lot of irrelevant 
>> clients.
>>
>> What it should list is:
>>
>> 1. Applications currently in use - this will be any application 
>> registered in the session (third party apps need an option to revoke 
>> access, which will remove the granted consents)
>> 2. Applications with offline access (these need to somehow be 
>> differentiated from the above and have an option to revoke access, 
>> which will remove the offline session)
>> 3. Applications that are actual web applications and that are 
>> available to the user
>>
>> What we need to discuss is what to do in step 3. It is clear to me 
>> that the logic in the old console is not working correctly, so we 
>> need a better approach. What users need is the ability to discover 
>> applications they can access from the account console, that means it 
>> should be web applications with a baseUrl so there can be a link to 
>> open the application. It should not list applications just because 
>> they require consent or just because they can get an offline token, 
>> because that doesn't mean a user can actually start using them. 
>> Further, it should be possible for a admin to control what 
>> applications are listed there, which they can do based on what 
>> applications users have access to and have a baseUrl set on them.
>
> So assuming there are those two groups of clients:
>
> (a) clients, which already has consent or offline access
>
> (b) clients, which can get consent or offline access
>
> I think that we're in agreement that clients from group (a) with 
> already available stuff should be displayed in new account console? As 
> there should be a way for the user to "Revoke" the consent or offline 
> access and new access console doesn't have any other place where to 
> revoke this.
>
> The reason why I suggest to list also all clients from group (b) is 
> some potential usability concern. For example assume you have client, 
> which has active offline token, but it hasn't any roles (for example 
> because this client doesn't use RBAC). Now what will happen is:
>
> - User clicks "Revoke" on client.
>
> - Client will disappear from the new account console because user 
> doesn't have any roles for this client and this client doesn't have 
> active offline token now.
>
> My question is, isn't it confusing from UX perspective that some 
> clients will disappear from the UI when you click "Revoke" button? 
> Just some clients will disappear, because clients with any 
> permission/role available won't disappear.
>
> Or is it an option that clients won't disappear right-away after click 
> "Revoke", but after page refresh? This would mean that after click 
> "Revoke" button, UI can't send another REST request to obtain fresh 
> list of clients (as that would cause client to disappear).
>
>>
>> I like the idea of using (user has permission for at least one role 
>> with any client scope) instead of (user has one role) as front-end 
>> clients like SPA type apps won't use any client roles, and it also 
>> works when realm roles are used.
>
> Yes, I agree regarding frontend clients.
>
> Besides that, one of the original reasons for the condition (user has 
> permission for at least one role with any client scope) is, that it 
> matches clients with the role scope to "offline_access" role when 
> "offline_access" client scope is used. Some time ago, we discussed 
> removing "offline_access" role. This will makes sense now when we have 
> client scopes and "offline_access" client scope.
>
> But until "offline_access" role is removed, almost all clients in the 
> realm will be displayed if we use that condition. I am not sure if 
> this is what we want or not (Depends on what we agree regarding the UX 
> concern I had in previous paragraph).
>
>>
>> I'm concerned with the approach you (Marek) listed with regards to 
>> client scope. Iterating through every client and 
>> calling TokenManager.getAccess is going to be incredibly expensive, 
>> so is not an option, even with pagination. If you do that with 
>> pagination we'd need to fetch 10 clients, run TokenManager.getAccess, 
>> find 1 client with access, then continue until we've built enough for 
>> a single page. It has to be something that we can actually query 
>> directly somehow, but that is difficult with groups and composite roles.
>
> The performance of TokenManager.getAccess is possibly  not so bad. I 
> did some improvement in this part last year during work on client 
> scopes. Most of the things don't need DB query as all entities 
> (clients, client scopes, groups, roles, users) are cached together 
> with their "direct" role memberships in the local infinispan cache. 
> However for deployments with thousands of roles or clients, it could 
> be tricky...
>
> Thing is, that AFAIK nobody yet (surprisingly) reported any 
> performance issue with the "Applications" tab in the old account 
> console even if it doesn't have pagination. Maybe it is because people 
> don't use old account console :) But who knows...
>
> Stan suggested to wait for feedback before doing pagination. I agree 
> with that.
>
> Marek
>
>>
>> On Mon, 7 Oct 2019 at 21:51, Marek Posolda <mposolda at redhat.com 
>> <mailto:mposolda at redhat.com>> wrote:
>>
>>     On 07. 10. 19 18:09, Stian Thorgersen wrote:
>>>     Marek -
>>>
>>>     One big difference between the new and the old console is that
>>>     the old console only listed applications the user was currently
>>>     logged-in to (basically it was listed in a session, offline or
>>>     regular). The new console also lists applications that are
>>>     available to the user to log-in to.
>>
>>     No, the old account console doesn't list only applications the
>>     user is currently logged-in to. It also lists all the
>>     applications available to the user.
>>
>>     The old account console basically shows all the clients, which
>>     matches this pseudo-condition:
>>
>>     (client is NOT bearer-only && (client has consent required ||
>>     (user has permission for at least one role with any client scope)))
>>
>>     The last sub-condition is a bit tricky, but simply said, all the
>>     clients, which are allowed to retrieve offline token are listed
>>     in the old console. Which are defacto almost all clients, which
>>     are not bearer-only.
>>
>>     My point is, that new account console doesn't have any separate
>>     page to manage offline tokens, is it correct? So the
>>     "Applications" page of new account console will be still used to
>>     revoke offline tokens and consents, right? In that case, the new
>>     account console should display all the clients, for which user
>>     can obtain consent or offline token. And offline token can by
>>     default be retrieved for almost every client in the realm, which
>>     is not bearer-only. Which would mean that filtering won't help to
>>     filter too much clients. Hence I guess pagination might be
>>     probably needed.
>>
>>     Marek
>>
>>>
>>>     The new console should list applications within a session in the
>>>     same way as it is done in the old console - although not sure
>>>     removing bearer-only is correct. For regular sessions only apps
>>>     that can do a login is registered in the session, for offline
>>>     sessions the client should be listed regardless of its type.
>>>
>>>     What we've been discussing here is what is the list of
>>>     applications available to a user, but that are not part of the
>>>     session. What you are suggesting doesn't make all that much
>>>     sense to me in this context.
>>>
>>>
>>>
>>>     On Mon, 7 Oct 2019 at 16:24, Bruno Oliveira <bruno at abstractj.org
>>>     <mailto:bruno at abstractj.org>> wrote:
>>>
>>>         I just talked with Stian this morning and we agreed on:
>>>
>>>         1. It's mandatory that Option 1 becomes part version of the New
>>>         Account Console. The current Jira was updated
>>>         https://issues.jboss.org/browse/KEYCLOAK-5628 to reflect such
>>>         requirement.
>>>
>>>         2 Filtering and pagination can be postponed for future
>>>         releases. Jiras
>>>         to follow up on this are here:
>>>         - https://issues.jboss.org/browse/KEYCLOAK-11534
>>>         - https://issues.jboss.org/browse/KEYCLOAK-11677
>>>
>>>         If we are all aboard with this, I think we should move on.
>>>         Otherwise,
>>>         please let us know.
>>>
>>>         On Fri, Oct 4, 2019 at 1:35 PM Marek Posolda
>>>         <mposolda at redhat.com <mailto:mposolda at redhat.com>> wrote:
>>>         >
>>>         > On 04. 10. 19 16:41, Stan Silvert wrote:
>>>         > > On 10/4/2019 10:16 AM, Stian Thorgersen wrote:
>>>         > >> Okay, so I've re-read and we're on the same page I
>>>         believe. Sorry for
>>>         > >> that (trying to do to many things with too little time).
>>>         > >>
>>>         > >> Option 1 limiting the list to real apps/UIs and those
>>>         the user has
>>>         > >> access to is what we should do since you are on board
>>>         with this.
>>>         > >> Option 2 can then be dropped completely as it was just
>>>         a quicker
>>>         > >> temporary solution.
>>>         > >>
>>>         > >> To limit to real apps in addition to what I listed
>>>         before I would also
>>>         > >> only include apps that have a display name set.
>>>         > > Ideally, we should have a flag for this.  I don't like
>>>         the idea that we
>>>         > > have to rely on the administrator to understand that a
>>>         display name
>>>         > > being blank in admin console conveys a certain meaning
>>>         in account console.
>>>         > >> To limit apps that users have access to. Thinking about
>>>         this some more
>>>         > >> and the ideal I think would be to only list apps where
>>>         user has at
>>>         > >> least one client role. That may be a bit tricky though,
>>>         but perhaps a
>>>         > >> smart query could solve that? I'm open to other ideas
>>>         here for sure
>>>         > >> though.
>>>         > > I think an approach like that would work.  It would be
>>>         helpful to an
>>>         > > admin if there was something in the admin console that
>>>         did this query
>>>         > > and showed explicitly which applications a given user
>>>         has access to.
>>>         >
>>>         > BTV. Some similar filtering is already done in the old
>>>         account console.
>>>         >
>>>         > It filtered the "bearerOnly" clients, but it didn't filter
>>>         clients
>>>         > without baseURL . I think that baseUrl is not mandatory
>>>         field for
>>>         > clients and IMO many clients don't have it configured, so
>>>         not sure
>>>         > whether to filter based on that...
>>>         >
>>>         > In addition to that you need always display clients with
>>>         offline-access
>>>         > and with granted consent. The old account console allowed
>>>         on the
>>>         > "Applications" page to see and revoke granted consents of
>>>         clients and it
>>>         > also allowed to see and revoke granted offline tokens. So
>>>         if new account
>>>         > console doesn't have any other place to view/revoke the
>>>         consents and
>>>         > offline tokens, it should be provided on this page.
>>>         >
>>>         > However if you filter to see just clients with any client
>>>         role + clients
>>>         > with offline-access and granted consent, it may create
>>>         interesting
>>>         > situations. For example imagine there is client, which
>>>         doesn't have any
>>>         > client roles, but it has consent granted or offline token
>>>         granted. Now
>>>         > user clicks the "revoke consent" (or "revoke offline
>>>         token") button.
>>>         > This will cause that client will disappear from the UI
>>>         because it
>>>         > doesn't have any client roles and it doesn't have any
>>>         consent or offline
>>>         > access. This seems to me like quite confusing behaviour
>>>         regarding UX?
>>>         > Also it will affect pagination results etc...
>>>         >
>>>         > With regards to this, I wonder if filtering shouldn't be
>>>         the same as it
>>>         > was in old account console? This was that client with
>>>         consentRequired
>>>         > were always included and clients with ANY role in the
>>>         token for any
>>>         > client scope were always included. The details are here:
>>>         >
>>>         https://github.com/keycloak/keycloak/blob/master/services/src/main/java/org/keycloak/forms/account/freemarker/model/ApplicationsBean.java#L67
>>>         >
>>>         > It is quite complex to compute if client has permission to
>>>         see any
>>>         > single role. You need to make composite roles into account
>>>         etc. Hence
>>>         > there is call to TokenManager.getAccess . The performance
>>>         of this is not
>>>         > very great, however if you have pagination with showing
>>>         only 10 clients
>>>         > per page, it should be just fine to use this IMO.
>>>         >
>>>         > In shortcut: I suggest to use exactly same filtering as
>>>         done by old
>>>         > account console. but add pagination support to it (which
>>>         wasn't provided
>>>         > by old account console). Or alternatively, if new account
>>>         console has
>>>         > separate page to manage offline tokens (which it maybe
>>>         should have?)
>>>         > then filtering can be done to display clients that:
>>>         >
>>>         > are NOT bearerOnly && (have consentRequired OR have any
>>>         client role
>>>         > available).
>>>         >
>>>         > By "client role available", you may still need to consider
>>>         composite
>>>         > roles, all possible client scopes etc, so the call to
>>>         > "TokenManager.getAccess" will be still needed.
>>>         >
>>>         > Marek
>>>         >
>>>         > >
>>>         > >> On Fri, 4 Oct 2019, 16:10 Stian Thorgersen,
>>>         <sthorger at redhat.com <mailto:sthorger at redhat.com>
>>>         > >> <mailto:sthorger at redhat.com
>>>         <mailto:sthorger at redhat.com>>> wrote:
>>>         > >>
>>>         > >>      My bad. I was thinking about comment 1, 2 and 3
>>>         from my first reply.
>>>         > >>
>>>         > >>      Let me re-read the whole thing again ;)
>>>         > >>
>>>         > >>      On Fri, 4 Oct 2019, 15:42 Bruno Oliveira,
>>>         <bruno at abstractj.org <mailto:bruno at abstractj.org>
>>>         > >>      <mailto:bruno at abstractj.org
>>>         <mailto:bruno at abstractj.org>>> wrote:
>>>         > >>
>>>         > >>          My comments were pretty much based on the
>>>         items you mentioned:
>>>         > >>
>>>         > >>          > 1) Limit the list to clients that are
>>>         applications and that
>>>         > >>          the user has access to (I suggested a fairly
>>>         simple approach,
>>>         > >>          which I believe should work)
>>>         > >>
>>>         > >>          That wouldn't list the clients regardless if
>>>         the user has
>>>         > >>          access to
>>>         > >>          them or not. So I'm not sure where the
>>>         security issue is.
>>>         > >>          Unless I'm
>>>         > >>          missing something.
>>>         > >>
>>>         > >>          > 2) Only list clients from active sessions -
>>>         then add a
>>>         > >>          follow-up for 1
>>>         > >>          at some point in the future
>>>         > >>          Yes, that's possible, but as you mentioned
>>>         something to postpone
>>>         > >>          unless badly needed. If we keep increasing the
>>>         scope of what
>>>         > >>          we aim,
>>>         > >>          this may become an endless task.
>>>         > >>
>>>         > >>          So here are my questions:
>>>         > >>          - Are we in agreement that #1 should be part
>>>         of our
>>>         > >>          deliverable for
>>>         > >>          the first release of the new account console
>>>         and #2
>>>         > >>          implemented later?
>>>         > >>          - If yes, are we ok about postponing
>>>         pagination/filtering?
>>>         > >>
>>>         > >>
>>>         > >>          On Fri, Oct 4, 2019 at 10:24 AM Stian Thorgersen
>>>         > >>          <sthorger at redhat.com
>>>         <mailto:sthorger at redhat.com> <mailto:sthorger at redhat.com
>>>         <mailto:sthorger at redhat.com>>> wrote:
>>>         > >>          >
>>>         > >>          > We're not on the same page. #2 is absolutely
>>>         not redundant
>>>         > >>          with #1. It is both a security issue and a
>>>         usability issue to
>>>         > >>          list all applications regardless if the user
>>>         has access to
>>>         > >>          them or not.
>>>         > >>          >
>>>         > >>          > One more not devices page should not list
>>>         applications with
>>>         > >>          offline access (offline sessions) those should
>>>         be on app page
>>>         > >>          (or a separate place?!?)
>>>         > >>          >
>>>         > >>          > On Fri, 4 Oct 2019, 14:49 Bruno Oliveira,
>>>         > >>          <bruno at abstractj.org
>>>         <mailto:bruno at abstractj.org> <mailto:bruno at abstractj.org
>>>         <mailto:bruno at abstractj.org>>> wrote:
>>>         > >>          >>
>>>         > >>          >> I believe that we're all in agreement that
>>>         we don't need
>>>         > >>          pagination
>>>         > >>          >> for the Applications endpoint.
>>>         > >>          >>
>>>         > >>          >> And I have the same impression as Stan, #1
>>>         makes perfect
>>>         > >>          sense and
>>>         > >>          >> once it's done should make #2 redundant. If
>>>         we are on the
>>>         > >>          same page
>>>         > >>          >> about this, I can update
>>>         > >>          >> https://issues.jboss.org/browse/KEYCLOAK-5628.
>>>         > >>          >>
>>>         > >>          >> Another question is: assuming that we
>>>         implement #1. Do we
>>>         > >>          still need
>>>         > >>          >> filtering
>>>         (https://issues.jboss.org/browse/KEYCLOAK-11534)?
>>>         > >>          >>
>>>         > >>          >>
>>>         > >>          >> On Fri, Oct 4, 2019 at 8:59 AM Stian Thorgersen
>>>         > >>          <sthorger at redhat.com
>>>         <mailto:sthorger at redhat.com> <mailto:sthorger at redhat.com
>>>         <mailto:sthorger at redhat.com>>> wrote:
>>>         > >>          >> >
>>>         > >>          >> > You can not have an application page in
>>>         the new account
>>>         > >>          console that lists every client there is in a
>>>         realm. As I said
>>>         > >>          a large portion of those will not be actual
>>>         applications, and
>>>         > >>          a portion will be applications that the user
>>>         does not have
>>>         > >>          access to.
>>>         > >>          >> >
>>>         > >>          >> > There's really two choices here:
>>>         > >>          >> >
>>>         > >>          >> > 1) Limit the list to clients that are
>>>         actually
>>>         > >>          applications and that the user has access to
>>>         (I suggested a
>>>         > >>          fairly simple approach, which I believe should
>>>         work)
>>>         > >>          >> > 2) Only list clients from active sessions
>>>         - then add a
>>>         > >>          follow-up for 1 at some point in the future
>>>         > >>          >> >
>>>         > >>          >> > My preference here would be 1 for sure as
>>>         if this is done
>>>         > >>          right it would be a good value add for users
>>>         to have a place
>>>         > >>          to discover available applications.
>>>         > >>          >> >
>>>         > >>          >> > On Thu, 3 Oct 2019 at 11:54, Bruno Oliveira
>>>         > >>          <bruno at abstractj.org
>>>         <mailto:bruno at abstractj.org> <mailto:bruno at abstractj.org
>>>         <mailto:bruno at abstractj.org>>> wrote:
>>>         > >>          >> >>
>>>         > >>          >> >> On 2019-10-03, Stian Thorgersen wrote:
>>>         > >>          >> >> > Simply returning all clients is not
>>>         going to work for
>>>         > >>          a few reasons:
>>>         > >>          >> >> >
>>>         > >>          >> >> > * It will return clients that are not
>>>         applications/UIs
>>>         > >>          >> >> > * It can return applications the user
>>>         doesn't have
>>>         > >>          access to
>>>         > >>          >> >> > * There can be thousands (in fact we
>>>         know about users
>>>         > >>          with 10K+ clients)
>>>         > >>          >> >> >
>>>         > >>          >> >> > That means we need the following:
>>>         > >>          >> >> >
>>>         > >>          >> >> > 1) Limit clients returned by the REST
>>>         endpoint to only
>>>         > >>          those that are
>>>         > >>          >> >> > indeed applications/UIs
>>>         > >>          >> >>
>>>         > >>          >> >> That makes sense, at the same time, not
>>>         part of our
>>>         > >>          requirements into the
>>>         > >>          >> >> Jira:
>>>         https://issues.jboss.org/browse/KEYCLOAK-5628.
>>>         > >>          >> >>
>>>         > >>          >> >> Doug is working on it, and if there's
>>>         anything that has
>>>         > >>          to change, I'd
>>>         > >>          >> >> suggest we bring this up in the same Jira.
>>>         > >>          >> >>
>>>         > >>          >> >> > 2) Limit applications to those the
>>>         user has access to
>>>         > >>          >> >>
>>>         > >>          >> >> Same as my previous comment
>>>         > >>          >> >>
>>>         > >>          >> >> > 3) Support filtering and pagination
>>>         (even though 1 and
>>>         > >>          2 most likely will
>>>         > >>          >> >> > significantly reduce the number of
>>>         applications to 10s
>>>         > >>          of applications, we
>>>         > >>          >> >> > still need to have pagination and
>>>         filtering support)
>>>         > >>          >> >>
>>>         > >>          >> >> We have a Jira for filtering, but not
>>>         for pagination.
>>>         > >>          >> >> See:
>>>         https://issues.jboss.org/browse/KEYCLOAK-11534. But
>>>         > >>          if you think
>>>         > >>          >> >> pagination should also be a part of it,
>>>         please let us
>>>         > >>          know. Just keep in
>>>         > >>          >> >> mind that this is not part of our plans
>>>         at the moment.
>>>         > >>          >> >>
>>>         > >>          >> >> Do you really think we need to implement
>>>         pagination for
>>>         > >>          Applications
>>>         > >>          >> >> endpoint right now? Based on the
>>>         requirements you
>>>         > >>          described, I don't see
>>>         > >>          >> >> a user with 2000 applications. Just look
>>>         at how many
>>>         > >>          applications you
>>>         > >>          >> >> have linked into your GH or FB profile.
>>>         > >>          >> >>
>>>         > >>          >> >> Maybe this is something we could
>>>         postpone? Unless I'm
>>>         > >>          missing something,
>>>         > >>          >> >> I don't see a real need to do it right now.
>>>         > >>          >> >
>>>         > >>          >> >
>>>         > >>          >> > If you do 1 or 2 the list of applications
>>>         available to
>>>         > >>          any given user will be reduced significantly,
>>>         so I'm fairly
>>>         > >>          confident that pagination/filtering on the
>>>         server-side can be
>>>         > >>          postponed in that case.
>>>         > >>          >> >
>>>         > >>          >> >>
>>>         > >>          >> >>
>>>         > >>          >> >> >
>>>         > >>          >> >> > Some ideas on how we can achieve the
>>>         above:
>>>         > >>          >> >> >
>>>         > >>          >> >> > 1) Figuring out what is indeed
>>>         applications/UIs
>>>         > >>          >> >> >
>>>         > >>          >> >> > List applications that are added to
>>>         open sessions,
>>>         > >>          including the below:
>>>         > >>          >> >> >
>>>         > >>          >> >> > * All OIDC clients where:
>>>         client.baseUrl != null &&
>>>         > >>          !client.bearerOnly
>>>         > >>          >> >> > * All SAML clients where:
>>>         client.baseUrl != null**
>>>         > >>          >> >> >
>>>         > >>          >> >> > This will make sure we only include
>>>         applications where
>>>         > >>          the user can
>>>         > >>          >> >> > actually click on the application in
>>>         the list to go to
>>>         > >>          the application.
>>>         > >>          >> >> >
>>>         > >>          >> >> > ** Not sure if there's anything in
>>>         addition to check
>>>         > >>          for SAML
>>>         > >>          >> >> >
>>>         > >>          >> >> > 2) Limit applications to those the
>>>         user has access to
>>>         > >>          >> >> >
>>>         > >>          >> >> > Not sure about this one as we don't
>>>         really have an
>>>         > >>          easy way to figure out
>>>         > >>          >> >> > if a user has access the an
>>>         application or not. One
>>>         > >>          idea would be to only
>>>         > >>          >> >> > include clients where user has at
>>>         least one client
>>>         > >>          role. Even if the
>>>         > >>          >> >> > application doesn't use client roles
>>>         directly a
>>>         > >>          "dummy" role can be created
>>>         > >>          >> >> > for this purpose by admins/developers.
>>>         > >>          >> >> >
>>>         > >>          >> >> > 3) Pagination and filtering
>>>         > >>          >> >> >
>>>         > >>          >> >> > All endpoints should support
>>>         pagination and filtering
>>>         > >>          by design. Pagination
>>>         > >>          >> >> > and filtering should be server-side
>>>         (REST endpoint
>>>         > >>          should provide according
>>>         > >>          >> >> > to our REST guidelines).
>>>         > >>          >> >>
>>>         > >>          >> >> +1 for most of the ideas, except for
>>>         implementing
>>>         > >>          pagination right now.
>>>         > >>          >> >>
>>>         > >>          >> >> >
>>>         > >>          >> >> > On Wed, 2 Oct 2019 at 19:11, Stan Silvert
>>>         > >>          <ssilvert at redhat.com
>>>         <mailto:ssilvert at redhat.com> <mailto:ssilvert at redhat.com
>>>         <mailto:ssilvert at redhat.com>>> wrote:
>>>         > >>          >> >> >
>>>         > >>          >> >> > > Specifically, we need to discuss
>>>         filtering and
>>>         > >>          pagination as it relates
>>>         > >>          >> >> > > to the "Applications" page:
>>>         > >>          >> >> > >
>>>         > >>          >> >> > >
>>>         https://marvelapp.com/c90dfi0/screen/59942290
>>>         > >>          >> >> > >
>>>         > >>          >> >> > > The current design allows filtering
>>>         by name and
>>>         > >>          application type.
>>>         > >>          >> >> > >
>>>         > >>          >> >> > > However, Stian has pointed out that
>>>         some customers
>>>         > >>          will have thousands
>>>         > >>          >> >> > > of clients.  So this design might be
>>>         unworkable.
>>>         > >>          >> >> > >
>>>         > >>          >> >> > > I don't want to go too far into the
>>>         weeds right now
>>>         > >>          because I want to
>>>         > >>          >> >> > > understand the problem better first.
>>>         > >>          >> >> > >
>>>         > >>          >> >> > > What is the use case when customers
>>>         have many, many
>>>         > >>          clients?
>>>         > >>          >> >> > >
>>>         > >>          >> >> > > How common is it to have many, many
>>>         clients for a
>>>         > >>          single user?
>>>         > >>          >> >> > >
>>>         > >>          >> >> > > What do those clients look like?
>>>         > >>          >> >> > >
>>>         > >>          >> >> > > What could we use to filter on?  The
>>>         information we
>>>         > >>          currently have on
>>>         > >>          >> >> > > the client side looks something like
>>>         what you see here:
>>>         > >>          >> >> > >
>>>         > >>          >> >> > >
>>>         https://marvelapp.com/c90dfi0/screen/59942292
>>>         > >>          >> >> > >
>>>         > >>          >> >> > >
>>>         _______________________________________________
>>>         > >>          >> >> > > keycloak-dev mailing list
>>>         > >>          >> >> > > keycloak-dev at lists.jboss.org
>>>         <mailto:keycloak-dev at lists.jboss.org>
>>>         > >>          <mailto:keycloak-dev at lists.jboss.org
>>>         <mailto:keycloak-dev at lists.jboss.org>>
>>>         > >>          >> >> > >
>>>         https://lists.jboss.org/mailman/listinfo/keycloak-dev
>>>         > >>          >> >> >
>>>         _______________________________________________
>>>         > >>          >> >> > keycloak-dev mailing list
>>>         > >>          >> >> > keycloak-dev at lists.jboss.org
>>>         <mailto:keycloak-dev at lists.jboss.org>
>>>         > >>          <mailto:keycloak-dev at lists.jboss.org
>>>         <mailto:keycloak-dev at lists.jboss.org>>
>>>         > >>          >> >> >
>>>         https://lists.jboss.org/mailman/listinfo/keycloak-dev
>>>         > >>          >> >>
>>>         > >>          >> >> --
>>>         > >>          >> >>
>>>         > >>          >> >> abstractj
>>>         > >>          >>
>>>         > >>          >>
>>>         > >>          >>
>>>         > >>          >> --
>>>         > >>          >> - abstractj
>>>         > >>
>>>         > >>
>>>         > >>
>>>         > >>          --
>>>         > >>          - abstractj
>>>         > >>
>>>         > > _______________________________________________
>>>         > > keycloak-dev mailing list
>>>         > > keycloak-dev at lists.jboss.org
>>>         <mailto:keycloak-dev at lists.jboss.org>
>>>         > > https://lists.jboss.org/mailman/listinfo/keycloak-dev
>>>         >
>>>         >
>>>
>>>
>>>         -- 
>>>         - abstractj
>>>
>>
>



More information about the keycloak-dev mailing list