<div dir="ltr">That would work: -n, --no-format<div><br></div><div>Much better than -n, --no-pretty  :)</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Jul 22, 2016 at 12:12 PM, Bruno Oliveira <span dir="ltr">&lt;<a href="mailto:bruno@abstractj.org" target="_blank">bruno@abstractj.org</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">On 2016-07-22, Marko Strukelj wrote:<br>
</span><span class="">&gt; On Fri, Jul 22, 2016 at 9:33 AM, Stian Thorgersen &lt;<a href="mailto:sthorger@redhat.com">sthorger@redhat.com</a>&gt;<br>
&gt; wrote:<br>
&gt;<br>
&gt; &gt; A few questions from me:<br>
&gt; &gt;<br>
&gt; &gt; * Is it possible to view the returned JSON when creating and updating a<br>
&gt; &gt; client? This contains values filled in by the server, including the<br>
&gt; &gt; registration access token.<br>
&gt; &gt;<br>
&gt; Not ATM. I can add an option e.g.  -o, --output     Display the new state<br>
&gt; of client configuration.<br>
&gt;<br>
&gt;<br>
&gt; &gt; * Should we not enable pretty print by default?<br>
&gt; &gt;<br>
&gt; I suppose that would be more user friendly. Just don&#39;t know how to name the<br>
&gt; switch -p, --pretty is so obvious ...<br>
<br>
</span>Some command line interfaces use --format.<br>
<div><div class="h5"><br>
&gt;<br>
&gt;<br>
&gt; &gt; * --cache isn&#39;t the most intuitive name, I don&#39;t have a better suggestion<br>
&gt; &gt; though<br>
&gt; &gt;<br>
&gt; OpenShift client uses the term configuration rather than cache, and uses<br>
&gt; --config accordingly. We could do the same, and even add &#39;kcreg config&#39;<br>
&gt; command to inspect and edit the config file if we deem that necessary.<br>
&gt;<br>
&gt; * Docs should be moved to Gitbook &quot;Securing Clients and Applications guide&quot;<br>
&gt; &gt;<br>
&gt; The only doc currently is the README file, so I guess that&#39;s the one you<br>
&gt; mean. I&#39;d wait a bit with adding it to docbook. The later I make a copy in<br>
&gt; Gitbook the less double work will there be editing the changes.<br>
&gt;<br>
&gt;<br>
&gt; &gt; * When creating clients and later updating them I assume it uses the<br>
&gt; &gt; registration access token from the cache?<br>
&gt; &gt;<br>
&gt; Yes. If it can&#39;t find one it uses bearer token from login.<br>
&gt;<br>
&gt;<br>
&gt; &gt; * A nice addition would be the ability to list attributes from<br>
&gt; &gt; ClientRepresentation so it&#39;s easy to discover what attributes can be set<br>
&gt; &gt;<br>
&gt; That&#39;s trivial to add using reflection. But how would the UI look? Ideally<br>
&gt; we&#39;d have tab completion for this at some point.<br>
&gt;<br>
&gt; Something like this?<br>
&gt;<br>
&gt; $ kcreg list-attrs<br>
&gt; clientId            String<br>
&gt; redirectUris     List&lt;String&gt;<br>
&gt; baseUrl           String<br>
&gt; enabled           Boolean<br>
&gt; ...<br>
&gt;<br>
&gt; $ kcreg list-attrs -e oidc<br>
&gt; redirect_uris    List&lt;String&gt;<br>
&gt; grant_types     List&lt;String&gt;<br>
&gt;<br>
&gt;<br>
&gt; However if we want to be more specific, with some additional help on the<br>
&gt; meaning, and possible values, then we would need to annotate Representation<br>
&gt; classes with the necessary info, or simply have a help-style static text.<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt; &gt; * What about setting/changing complex attributes, how does that look like?<br>
&gt; &gt; Can we add/remove to an array? Add/remove elements to a complex object?<br>
&gt; &gt; Something like JSON patch could be nice<br>
&gt; &gt; <a href="https://tools.ietf.org/html/rfc6902" rel="noreferrer" target="_blank">https://tools.ietf.org/html/rfc6902</a><br>
&gt; &gt;<br>
&gt; I haven&#39;t gone so far with this iteration. That&#39;s a TODO.<br>
&gt;<br>
&gt;<br>
&gt; &gt;<br>
&gt; &gt; On 22 July 2016 at 09:26, Stian Thorgersen &lt;<a href="mailto:sthorger@redhat.com">sthorger@redhat.com</a>&gt; wrote:<br>
&gt; &gt;<br>
&gt; &gt;&gt; It should be fairly easy to add support for OTP as well as the direct<br>
&gt; &gt;&gt; grant supports that. The user would have to specify to use OTP though.<br>
&gt; &gt;&gt;<br>
&gt; &gt;&gt; On 21 July 2016 at 19:15, Bruno Oliveira &lt;<a href="mailto:bruno@abstractj.org">bruno@abstractj.org</a>&gt; wrote:<br>
&gt; &gt;&gt;<br>
&gt; &gt;&gt;&gt; Nice work Marko! I had two (not big deal) questions. First, when you<br>
&gt; &gt;&gt;&gt; specify the --cache parameters as you did for SAML, could the cache file<br>
&gt; &gt;&gt;&gt; be omitted?<br>
&gt; &gt;&gt;&gt;<br>
&gt; &gt;&gt;&gt; For example: kcreg --cache -r saml-realm ...<br>
&gt; &gt;&gt;&gt;<br>
&gt; &gt;&gt;&gt; I was thinking that once you specified the realm name, the API will just<br>
&gt; &gt;&gt;&gt; look for ~/.keycloak/saml-realm.cache. It&#39;s just an idea.<br>
&gt; &gt;&gt;&gt;<br>
&gt; &gt;&gt;&gt; Second question, is more like something to think if worth to take<br>
&gt; &gt;&gt;&gt; into consideration. Most of the examples that I saw, make use of<br>
&gt; &gt;&gt;&gt; username/password. But if the admin enables two factor authentication,<br>
&gt; &gt;&gt;&gt; she might be unable to use our client-reg CLI, or enforce weaken<br>
&gt; &gt;&gt;&gt; security only<br>
&gt; &gt;&gt;&gt; to make use of the CLI.<br>
&gt; &gt;&gt;&gt;<br>
&gt; &gt;&gt;&gt; Is OTP support planned for further iterations?<br>
&gt; &gt;&gt;&gt;<br>
&gt; &gt;&gt;&gt;<br>
&gt; &gt;&gt;&gt; On 2016-07-21, Marko Strukelj wrote:<br>
&gt; &gt;&gt;&gt; &gt; And if anyone wants to get their feet wet already:<br>
&gt; &gt;&gt;&gt; &gt;<br>
&gt; &gt;&gt;&gt; &gt;<br>
&gt; &gt;&gt;&gt; <a href="https://github.com/mstruk/keycloak/tree/cli-reg/integration/client-registration-cli-tool" rel="noreferrer" target="_blank">https://github.com/mstruk/keycloak/tree/cli-reg/integration/client-registration-cli-tool</a><br>
&gt; &gt;&gt;&gt; &gt;<br>
&gt; &gt;&gt;&gt; &gt;<br>
&gt; &gt;&gt;&gt; &gt; On Thu, Jul 21, 2016 at 4:06 PM, Stian Thorgersen &lt;<a href="mailto:sthorger@redhat.com">sthorger@redhat.com</a><br>
&gt; &gt;&gt;&gt; &gt;<br>
&gt; &gt;&gt;&gt; &gt; wrote:<br>
&gt; &gt;&gt;&gt; &gt;<br>
&gt; &gt;&gt;&gt; &gt; &gt; Great work Marko!<br>
&gt; &gt;&gt;&gt; &gt; &gt;<br>
&gt; &gt;&gt;&gt; &gt; &gt; As we didn&#39;t have time to go through feedback let&#39;s use this thread<br>
&gt; &gt;&gt;&gt; for<br>
&gt; &gt;&gt;&gt; &gt; &gt; it. Add your questions and comments here please.<br>
&gt; &gt;&gt;&gt; &gt; &gt;<br>
&gt; &gt;&gt;&gt; &gt; &gt; _______________________________________________<br>
&gt; &gt;&gt;&gt; &gt; &gt; keycloak-dev mailing list<br>
&gt; &gt;&gt;&gt; &gt; &gt; <a href="mailto:keycloak-dev@lists.jboss.org">keycloak-dev@lists.jboss.org</a><br>
&gt; &gt;&gt;&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;&gt;&gt; &gt; &gt;<br>
&gt; &gt;&gt;&gt;<br>
&gt; &gt;&gt;&gt; &gt; _______________________________________________<br>
&gt; &gt;&gt;&gt; &gt; keycloak-dev mailing list<br>
&gt; &gt;&gt;&gt; &gt; <a href="mailto:keycloak-dev@lists.jboss.org">keycloak-dev@lists.jboss.org</a><br>
&gt; &gt;&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;&gt;&gt;<br>
&gt; &gt;&gt;&gt;<br>
&gt; &gt;&gt;&gt; --<br>
&gt; &gt;&gt;&gt;<br>
&gt; &gt;&gt;&gt; abstractj<br>
&gt; &gt;&gt;&gt; PGP: 0x84DC9914<br>
&gt; &gt;&gt;&gt;<br>
&gt; &gt;&gt;<br>
&gt; &gt;&gt;<br>
&gt; &gt;<br>
<br>
</div></div>--<br>
<br>
abstractj<br>
PGP: 0x84DC9914<br>
</blockquote></div><br></div>