<div dir="ltr">How about:<div><br></div><div>* IDs are usually generated, but can be specified. It should not be possible to change them though</div><div><br></div><div>* Instead of alias, name and all other ways of setting a human readable name we add Display Name and Display Class</div><div><br></div><div>Not sure how to deal with migration, but if we agree on those points, then we can figure that out</div></div><div class="gmail_extra"><br><div class="gmail_quote">On 19 November 2015 at 14:49, Bill Burke <span dir="ltr">&lt;<a href="mailto:bburke@redhat.com" target="_blank">bburke@redhat.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">One more thing.  Another problem is that if you switch to ID for<br>
everything, then demos etc. will no longer run out of the box and you&#39;ll<br>
have to modify adapter configuration to set the newly generated DB id.<br>
Really, any piece of configuration that references things by client ID<br>
will no longer work.<br>
<br>
So, there&#39;s really 2 issues:<br>
<br>
* Using ClientID in admin-console URLs doesn&#39;t work well as the client<br>
IDs could have &#39;/&#39; characters in them<br>
* Using ID only messes up pre-defined, pre-packaged adapter config and<br>
you have to edit these files after the keycloak DB is set up.<br>
<div class="HOEnZb"><div class="h5"><br>
On 11/19/2015 8:40 AM, Bill Burke wrote:<br>
&gt; We currently actually have 3 client identifers:  ID, ClientID, and Name.<br>
&gt;<br>
&gt; Also, I think there are a lot of duplicate clientID names between<br>
&gt; realms.  i.e. &quot;admin-console&quot; &quot;broker&quot;, etc...<br>
&gt;<br>
&gt; A search by clientID is (realm + clientID).<br>
&gt;<br>
&gt; Marek is right about why I switched everything to ID in the admin<br>
&gt; console.  For SAML I just didn&#39;t want to add yet another client<br>
&gt; identifier since we already had 3.<br>
&gt;<br>
&gt; On 11/19/2015 7:52 AM, Marek Posolda wrote:<br>
&gt;&gt; +1 for this change.<br>
&gt;&gt;<br>
&gt;&gt; I am just not sure if we should set the &quot;id&quot; to the current value of<br>
&gt;&gt; &quot;client-id&quot; ? Few things to note:<br>
&gt;&gt;<br>
&gt;&gt; - SAML clients currently use clientId in form of URL. For example in<br>
&gt;&gt; SAML demo there are clientIds like &quot;<a href="http://localhosT:8080/employee-sig" rel="noreferrer" target="_blank">http://localhosT:8080/employee-sig</a>&quot;<br>
&gt;&gt; . I don&#39;t know if it&#39;s requirement, maybe it&#39;s possible to solve it<br>
&gt;&gt; somehow (ie. introduce different attribute for SAML client to store<br>
&gt;&gt; these URLs). But from what I remember, Bill changed admin console to use<br>
&gt;&gt; &quot;id&quot; instead of &quot;clientId&quot; because there were issues with URL-like<br>
&gt;&gt; clientId in admin console . So if we overwrite the &quot;id&quot; with current<br>
&gt;&gt; &quot;client-id&quot; the issue will be back.<br>
&gt;&gt;<br>
&gt;&gt; - Migration might be a pain. Many tables (roles, protocolMappers, user<br>
&gt;&gt; consents, offline clientSessions ...) references client by &quot;id&quot; .<br>
&gt;&gt; Overwriting &quot;id&quot; with &quot;client-id&quot; means that we will need to change all<br>
&gt;&gt; those DB records. And there are things like foreign keys etc...<br>
&gt;&gt;<br>
&gt;&gt; Shouldn&#39;t do vice-versa and just remove current &quot;client-id&quot; and ask<br>
&gt;&gt; people to update their keycloak.json adapter configurations? On the<br>
&gt;&gt; other hand, removing &quot;client-id&quot; might break migration of JSON exported<br>
&gt;&gt; realms as the JSON entities are using &quot;client-id&quot; for referencing client.<br>
&gt;&gt;<br>
&gt;&gt; It seems the migration will be a pain regardless of whatever direction<br>
&gt;&gt; we choose :-(<br>
&gt;&gt;<br>
&gt;&gt; Marek<br>
&gt;&gt;<br>
&gt;&gt; On 16/11/15 14:54, Stian Thorgersen wrote:<br>
&gt;&gt;&gt; We have both &quot;id&quot; and &quot;client-id&quot; for clients in Keycloak at the<br>
&gt;&gt;&gt; moment. This seems unnecessary and complex.<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; The model can retrieve clients on either value. In token endpoints the<br>
&gt;&gt;&gt; &quot;client-id&quot; is used. In admin endpoints the &quot;id&quot; is used.<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; Also, in most cases it would be simpler for users to just have a<br>
&gt;&gt;&gt; generated id than having to come up with one themselves. The id<br>
&gt;&gt;&gt; doesn&#39;t have to be human readable either as we have name for that.<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; OpenID Connect expects &quot;client-id&quot; to be generated by the IdP and<br>
&gt;&gt;&gt; can&#39;t be changed once created.<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; I propose we remove &quot;client-id&quot; and only keep id.<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; For migration of existing clients we would set the &quot;id&quot; value to the<br>
&gt;&gt;&gt; current value of &quot;client-id&quot;. This would require no changes to adapter<br>
&gt;&gt;&gt; configs. When creating new clients from the admin console we would not<br>
&gt;&gt;&gt; allow setting the &quot;client-id&quot;, instead just display it after the<br>
&gt;&gt;&gt; client was created. When importing clients it would be possible to set<br>
&gt;&gt;&gt; the id (and for backwards compatibility we would set &quot;id&quot; equal to the<br>
&gt;&gt;&gt; &quot;client-id&quot; field.<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; _______________________________________________<br>
&gt;&gt;&gt; keycloak-dev mailing list<br>
&gt;&gt;&gt; <a href="mailto:keycloak-dev@lists.jboss.org">keycloak-dev@lists.jboss.org</a><br>
&gt;&gt;&gt; <a href="https://lists.jboss.org/mailman/listinfo/keycloak-dev" rel="noreferrer" target="_blank">https://lists.jboss.org/mailman/listinfo/keycloak-dev</a><br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; _______________________________________________<br>
&gt;&gt; keycloak-dev mailing list<br>
&gt;&gt; <a href="mailto:keycloak-dev@lists.jboss.org">keycloak-dev@lists.jboss.org</a><br>
&gt;&gt; <a href="https://lists.jboss.org/mailman/listinfo/keycloak-dev" rel="noreferrer" target="_blank">https://lists.jboss.org/mailman/listinfo/keycloak-dev</a><br>
&gt;&gt;<br>
&gt;<br>
<br>
--<br>
Bill Burke<br>
JBoss, a division of Red Hat<br>
<a href="http://bill.burkecentral.com" rel="noreferrer" target="_blank">http://bill.burkecentral.com</a><br>
_______________________________________________<br>
keycloak-dev mailing list<br>
<a href="mailto:keycloak-dev@lists.jboss.org">keycloak-dev@lists.jboss.org</a><br>
<a href="https://lists.jboss.org/mailman/listinfo/keycloak-dev" rel="noreferrer" target="_blank">https://lists.jboss.org/mailman/listinfo/keycloak-dev</a><br>
</div></div></blockquote></div><br></div>