<div dir="ltr">If we&#39;re introducing a new credentials SPI should be consider using it for realms and clients as well?<div><br></div><div>Realms currently have a few things, but we soon need to support key rotation which would mean a realm could have more than one keypair at a time</div><div><br></div><div>Clients already have secret or keypair based auth, but will in the future need certs. Then there&#39;s also needs for custom authenticators to store credentials.</div></div><div class="gmail_extra"><br><div class="gmail_quote">On 23 August 2016 at 09:31, Marek Posolda <span dir="ltr">&lt;<a href="mailto:mposolda@redhat.com" target="_blank">mposolda@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"><span class="">On 16/08/16 22:51, Bill Burke wrote:<br>
&gt;<br>
&gt;<br>
&gt; On 8/16/16 10:12 AM, Bruno Oliveira wrote:<br>
&gt;&gt; On 2016-08-11, Marek Posolda wrote:<br>
&gt;&gt;&gt; I wonder if we can have UserCredentialValueModel to be more generic<br>
&gt;&gt;&gt; store? Currently it has properties applicable just to password or OTP<br>
&gt;&gt;&gt; credentials, but it will be better to have something more generic based<br>
&gt;&gt;&gt; on key-value pairs though.<br>
&gt;&gt; +1 that would be fantastic, if possible.<br>
&gt; A data model that can store any arbitrary key-value pair would require<br>
&gt; a join with RDBMs storage.  Should we keep something like<br>
&gt; UsercredValModel, but just add the ability for attributes?  Then model<br>
&gt; the API so that it can avoid joins?  There&#39;s also the issue of data<br>
&gt; migration from the old tables to the new.  Since this is users we<br>
&gt; could be talking about tens of thousands of rows.<br>
</span>Yep, maybe we can keep the &quot;old&quot; attributes on the UserCredValModel, so<br>
it&#39;s not needed to migrate and most important credential types (<br>
password, OTP) don&#39;t need to change anything. Still we can add key-value<br>
for other credential types? Maybe the caching of users and user<br>
credentials also helps with the performance, so the performance<br>
bottleneck of joins won&#39;t be so bad (but yes, I know that we need to<br>
limit size of userCache cache, so the same user and his credential may<br>
be still downloaded from underlying DB multiple times...)<br>
<span class="HOEnZb"><font color="#888888"><br>
Marek<br>
</font></span><div class="HOEnZb"><div class="h5">&gt;<br>
&gt; Bill<br>
<br>
______________________________<wbr>_________________<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/<wbr>mailman/listinfo/keycloak-dev</a><br>
</div></div></blockquote></div><br></div>