<div dir="ltr"><div>Cool, thanks Bill!<br><br></div>We&#39;ve got some upcoming integrations where this would be a huge win for us.  I&#39;d be happy to jump in and help if you have a specific change in mind, just let me know.<br></div><div class="gmail_extra"><br clear="all"><div><div class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><span><div><div>Josh Cain | Software Applications Engineer<br></div><i>Identity and Access Management</i><br></div><b>Red Hat</b><br>+1 843-737-1735<br></span></div></div></div>
<br><div class="gmail_quote">On Thu, Aug 4, 2016 at 9:17 AM, 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">
  
    
  
  <div bgcolor="#FFFFFF" text="#000000">
    <p>Ok, I&#39;ll have to add that to the roadmap.  I&#39;m currently creating
      a brand new user federation SPI.  I was assuming account linking
      would be completely managed by keycloak.<br>
    </p><div><div class="h5">
    <br>
    <div>On 8/4/16 10:14 AM, Josh Cain wrote:<br>
    </div>
    <blockquote type="cite">
      <div dir="ltr">
        <div>Yes, I think we&#39;re on the same page now!<br>
          <br>
        </div>
      </div>
      <div class="gmail_extra"><br clear="all">
        <div>
          <div data-smartmail="gmail_signature">
            <div dir="ltr"><span>
                <div>
                  <div>Josh Cain | Software Applications Engineer<br>
                  </div>
                  <i>Identity and Access Management</i><br>
                </div>
                <b>Red Hat</b><br>
                <a href="tel:%2B1%20843-737-1735" value="+18437371735" target="_blank">+1 843-737-1735</a><br>
              </span></div>
          </div>
        </div>
        <br>
        <div class="gmail_quote">On Thu, Aug 4, 2016 at 9:06 AM, 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">
            <div bgcolor="#FFFFFF" text="#000000">
              <p>You want to be able to store account links within a
                different datastore.<br>
              </p>
              <div>
                <div> <br>
                  <div>On 8/4/16 9:59 AM, Josh Cain wrote:<br>
                  </div>
                  <blockquote type="cite">
                    <div dir="ltr">Not 100% sure what that question is
                      asking; I&#39;d like to provide social auth credential
                      -&gt; Keycloak UserModel associations using
                      another source than the Keycloak database.<br>
                    </div>
                    <div class="gmail_extra"><br clear="all">
                      <div>
                        <div data-smartmail="gmail_signature">
                          <div dir="ltr"><span>
                              <div>
                                <div>Josh Cain | Software Applications
                                  Engineer<br>
                                </div>
                                <i>Identity and Access Management</i><br>
                              </div>
                              <b>Red Hat</b><br>
                              <a href="tel:%2B1%20843-737-1735" value="+18437371735" target="_blank">+1
                                843-737-1735</a><br>
                            </span></div>
                        </div>
                      </div>
                      <br>
                      <div class="gmail_quote">On Thu, Aug 4, 2016 at
                        8:47 AM, 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">
                          <div bgcolor="#FFFFFF" text="#000000">
                            <p>So you basically want to choose which
                              provider a social login (brokered login)
                              gets imported into?<br>
                            </p>
                            <div>
                              <div> <br>
                                <div>On 8/4/16 9:32 AM, Josh Cain wrote:<br>
                                </div>
                                <blockquote type="cite">
                                  <div dir="ltr">
                                    <div>
                                      <div>We&#39;ve got social auth data
                                        already in a data store, and
                                        other applications/enclaves also
                                        use that data store, so we&#39;d
                                        like to keep it as a single
                                        source of truth (rather than
                                        point additional applications to
                                        the KC database, or require
                                        users to link the same account
                                        manually again).<br>
                                        <br>
                                      </div>
                                      Maybe in pictures would help.  The
                                      diagram below would give a
                                      high-level understanding of how
                                      the current user search works with
                                      federation providers:<br>
                                      <img src="cid:part4.463402A1.96466528@redhat.com" height="442" width="256"><br>
                                      ​<br>
                                    </div>
                                    Contrast this with the current
                                    social auth user lookup process like
                                    this (example using Github, but any
                                    social auth provider really):<br>
                                    <br>
                                    <img src="cid:part5.4ABA15B5.5E9B5757@redhat.com" height="543" width="461"><br>
                                    ​<br>
                                    <div>
                                      <div>
                                        <div>
                                          <div>When the IDP swaps the
                                            auth code for the access
                                            token and is able to view
                                            the user&#39;s third party
                                            information (userId, name,
                                            etc), this information is
                                            referenced against the
                                            Keycloak database *only*. 
                                            I&#39;d ideally like to be able
                                            to consult an external
                                            lookup in order to see if
                                            something else was capable
                                            of associating this third
                                            party information with a
                                            Keycloak UserModel.  I was
                                            wondering if a flow similar
                                            to the user&#39;s federation
                                            provider flow would be
                                            possible - something like
                                            this:<br>
                                            <br>
                                            <img src="cid:part6.A3761AE0.7D264078@redhat.com" height="548" width="324"><br>
                                            ​<br>
                                          </div>
                                          <div>Would extending Keycloak
                                            to include and SPI for this
                                            be an option?  Thoughts?<br>
                                            <br>
                                          </div>
                                          <div>I looked at simply
                                            altering/delegating one of
                                            the existing UserProvider
                                            implementations, but it just
                                            feels wrong.<br>
                                          </div>
                                          <div><br>
                                          </div>
                                        </div>
                                      </div>
                                    </div>
                                  </div>
                                  <div class="gmail_extra"><br clear="all">
                                    <div>
                                      <div data-smartmail="gmail_signature">
                                        <div dir="ltr"><span>
                                            <div>
                                              <div>Josh Cain | Software
                                                Applications Engineer<br>
                                              </div>
                                              <i>Identity and Access
                                                Management</i><br>
                                            </div>
                                            <b>Red Hat</b><br>
                                            <a href="tel:%2B1%20843-737-1735" value="+18437371735" target="_blank">+1
                                              843-737-1735</a><br>
                                          </span></div>
                                      </div>
                                    </div>
                                    <br>
                                    <div class="gmail_quote">On Wed, Aug
                                      3, 2016 at 8:35 PM, 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">
                                        <div bgcolor="#FFFFFF" text="#000000">
                                          <p>Huh?  I don&#39;t understand.<br>
                                          </p>
                                          <div>
                                            <div> <br>
                                              <div>On 8/3/16 8:19 PM,
                                                Josh Cain wrote:<br>
                                              </div>
                                            </div>
                                          </div>
                                          <blockquote type="cite">
                                            <div>
                                              <div>
                                                <div dir="ltr">
                                                  <div>
                                                    <div>Hi all,<br>
                                                      <br>
                                                    </div>
                                                    I&#39;m in a situation
                                                    in which I need to
                                                    consult an external
                                                    source of truth in
                                                    order to pull social
                                                    auth credentials
                                                    (outside the
                                                    Keycloak database). 
                                                    I&#39;d ideally like
                                                    something
                                                    functionally
                                                    equivalent to the
                                                    UserFederationProvider,
                                                    in which another
                                                    source outside the
                                                    user store is
                                                    consulted for this
                                                    information.  Is
                                                    anything like that
                                                    currently supported?</div>
                                                  <div>
                                                    <div>
                                                      <div><br clear="all">
                                                        <div>
                                                          <div data-smartmail="gmail_signature">
                                                          <div dir="ltr"><span>
                                                          <div>
                                                          <div>Josh Cain
                                                          | Software
                                                          Applications
                                                          Engineer<br>
                                                          </div>
                                                          <i>Identity
                                                          and Access
                                                          Management</i><br>
                                                          </div>
                                                          <b>Red Hat</b><br>
                                                          <a href="tel:%2B1%20843-737-1735" value="+18437371735" target="_blank">+1
                                                          843-737-1735</a><br>
                                                          </span></div>
                                                          </div>
                                                        </div>
                                                      </div>
                                                    </div>
                                                  </div>
                                                </div>
                                                <br>
                                                <fieldset></fieldset>
                                                <br>
                                              </div>
                                            </div>
                                            <pre>______________________________<wbr>_________________
keycloak-user mailing list
<a href="mailto:keycloak-user@lists.jboss.org" target="_blank">keycloak-user@lists.jboss.org</a>
<a href="https://lists.jboss.org/mailman/listinfo/keycloak-user" target="_blank">https://lists.jboss.org/mailma<wbr>n/listinfo/keycloak-user</a></pre>
    </blockquote>
    

  </div>


______________________________<wbr>_________________

keycloak-user mailing list

<a href="mailto:keycloak-user@lists.jboss.org" target="_blank">keycloak-user@lists.jboss.org</a>

<a href="https://lists.jboss.org/mailman/listinfo/keycloak-user" rel="noreferrer" target="_blank">https://lists.jboss.org/mailma<wbr>n/listinfo/keycloak-user</a>
</blockquote></div>
</div>



</blockquote>
</div></div></div></blockquote></div>
</div>



</blockquote>
</div></div></div></blockquote></div>
</div>



</blockquote>
</div></div></div></blockquote></div><br></div>