<html>
  <head>
    <meta content="text/html; charset=windows-1252"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <p>
      <meta http-equiv="content-type" content="text/html;
        charset=windows-1252">
    </p>
    <pre style="background-color:#ffffff;color:#000000;font-family:'Menlo';font-size:9.0pt;"><span style="color:#008000;font-weight:bold;">"userFederation" : {
    "IDP-API" : {
        "test": "value
    }
}
</span></pre>
    <p>
      <meta http-equiv="content-type" content="text/html;
        charset=windows-1252">
    </p>
    <br>
    <div class="moz-cite-prefix">On 8/1/16 2:56 PM, Zhaohua Meng wrote:<br>
    </div>
    <blockquote
      cite="mid:6355FF95-5A92-4C4A-A56C-6B5782F3CD49@appnexus.com"
      type="cite">
      <meta http-equiv="Content-Type" content="text/html;
        charset=windows-1252">
      <meta name="Title" content="">
      <meta name="Keywords" content="">
      <meta name="Generator" content="Microsoft Word 15 (filtered
        medium)">
      <style><!--
/* Font Definitions */
@font-face
        {font-family:"Courier New";
        panose-1:2 7 3 9 2 2 5 2 4 4;}
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:DengXian;
        panose-1:2 1 6 0 3 1 1 1 1 1;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Monaco;
        panose-1:2 0 5 0 0 0 0 0 0 0;}
@font-face
        {font-family:"Helvetica Neue \;color\:\#262626";}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:Calibri;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:#0563C1;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:#954F72;
        text-decoration:underline;}
pre
        {mso-style-priority:99;
        mso-style-link:"HTML Preformatted Char";
        margin:0in;
        margin-bottom:.0001pt;
        font-size:10.0pt;
        font-family:"Courier New";}
span.EmailStyle17
        {mso-style-type:personal;
        font-family:Calibri;
        color:windowtext;}
span.HTMLPreformattedChar
        {mso-style-name:"HTML Preformatted Char";
        mso-style-priority:99;
        mso-style-link:"HTML Preformatted";
        font-family:Courier;}
span.EmailStyle20
        {mso-style-type:personal-reply;
        font-family:Calibri;
        color:windowtext;}
span.msoIns
        {mso-style-type:export-only;
        mso-style-name:"";
        text-decoration:underline;
        color:teal;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
--></style>
      <div class="WordSection1">
        <p class="MsoNormal"><span style="font-size:16.0pt">Marek,<o:p></o:p></span></p>
        <p class="MsoNormal"><span style="font-size:16.0pt"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span style="font-size:16.0pt">My
            implementation id is “IDP-API” and my getId() and init()
            method are following:<o:p></o:p></span></p>
        <p class="MsoNormal" style="text-autospace:none"><span
            style="font-family:Monaco;color:black"><o:p> </o:p></span></p>
        <p class="MsoNormal" style="text-autospace:none"><span
            style="font-family:Monaco;color:black">    
          </span><span style="font-family:Monaco;color:#646464">@Override</span><span
            style="font-family:Monaco"><o:p></o:p></span></p>
        <p class="MsoNormal" style="text-autospace:none"><span
            style="font-family:Monaco;color:black">    
          </span><b><span style="font-family:Monaco;color:#7F0055">public</span></b><span
            style="font-family:Monaco;color:black">
            <span style="background:silver;mso-highlight:silver">String</span>
            getId() { </span>
          <span style="font-family:Monaco"><o:p></o:p></span></p>
        <p class="MsoNormal" style="text-autospace:none"><span
            style="font-family:Monaco;color:black">         
          </span><b><span
style="font-family:Monaco;color:#7F0055;background:silver;mso-highlight:silver">return</span></b><span
style="font-family:Monaco;color:black;background:silver;mso-highlight:silver">
          </span><span style="font-family:Monaco;color:black">(</span><span
            style="font-family:Monaco;color:#2A00FF">"IDP-API")</span><span
            style="font-family:Monaco;color:black">;</span><span
            style="font-family:Monaco"><o:p></o:p></span></p>
        <p class="MsoNormal" style="text-autospace:none"><span
            style="font-family:Monaco;color:black">     }</span><span
            style="font-family:Monaco"><o:p></o:p></span></p>
        <p class="MsoNormal"><span style="font-size:16.0pt"><o:p> </o:p></span></p>
        <p class="MsoNormal" style="text-autospace:none"><span
            style="font-family:Monaco;color:black">    
          </span><span style="font-family:Monaco;color:#646464">@Override</span><span
            style="font-family:Monaco"><o:p></o:p></span></p>
        <p class="MsoNormal" style="text-autospace:none"><span
            style="font-family:Monaco;color:black">    
          </span><b><span style="font-family:Monaco;color:#7F0055">public</span></b><span
            style="font-family:Monaco;color:black">
          </span><b><span style="font-family:Monaco;color:#7F0055">void</span></b><span
            style="font-family:Monaco;color:black"> init(Scope
          </span><span style="font-family:Monaco;color:#6A3E3E">config</span><span
            style="font-family:Monaco;color:black">) {</span><span
            style="font-family:Monaco"><o:p></o:p></span></p>
        <p class="MsoNormal" style="text-autospace:none"><span
            style="font-family:Monaco;color:black">         
          </span><span style="font-family:Monaco;color:#0000C0">logger</span><span
            style="font-family:Monaco;color:black">.info(</span><span
            style="font-family:Monaco;color:#2A00FF">"in init"</span><span
            style="font-family:Monaco;color:black">);<o:p></o:p></span></p>
        <p class="MsoNormal" style="text-autospace:none"><span
            style="font-family:Monaco;color:black">          this.config
            = config;</span><span style="font-family:Monaco"><o:p></o:p></span></p>
        <p class="MsoNormal" style="text-autospace:none"><span
            style="font-family:Monaco;color:black">         
          </span><span style="font-family:Monaco;color:#0000C0">logger</span><span
            style="font-family:Monaco;color:black">.infof(</span><span
            style="font-family:Monaco;color:#2A00FF">"config: %s"</span><span
            style="font-family:Monaco;color:black">,</span><span
            style="font-family:Monaco;color:#6A3E3E">config</span><span
            style="font-family:Monaco;color:black">.get(</span><span
            style="font-family:Monaco;color:#2A00FF">"test"</span><span
            style="font-family:Monaco;color:black">));</span><span
            style="font-family:Monaco"><o:p></o:p></span></p>
        <p class="MsoNormal" style="text-autospace:none"><span
            style="font-family:Monaco;color:black">     }</span><span
            style="font-family:Monaco"><o:p></o:p></span></p>
        <p class="MsoNormal"><span style="font-size:16.0pt"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span style="font-size:16.0pt">I’m getting
            null for the </span>
          <span style="font-family:Monaco;color:#6A3E3E">config</span><span
            style="font-family:Monaco;color:black">.get(</span><span
            style="font-family:Monaco;color:#2A00FF">"test"</span><span
            style="font-family:Monaco;color:black">). What am I doing
            wrong here?</span><span style="font-size:16.0pt"><o:p></o:p></span></p>
        <p class="MsoNormal"><span style="font-size:16.0pt"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span style="font-size:16.0pt">I’m copying
            the keycloak-server.json in my test for your reference.
            <o:p></o:p></span></p>
        <p class="MsoNormal"><span style="font-size:16.0pt"><o:p> </o:p></span></p>
        <p class="MsoNormal" style="text-autospace:none"><span
            style="font-family:Monaco">{<o:p></o:p></span></p>
        <p class="MsoNormal" style="text-autospace:none"><span
            style="font-family:Monaco">     "IDP-API": {<o:p></o:p></span></p>
        <p class="MsoNormal" style="text-autospace:none"><span
            style="font-family:Monaco">          "test": "<u><span
                style="color:black">idp</span></u>
            <u><span style="color:black">api</span></u> test value"<o:p></o:p></span></p>
        <p class="MsoNormal" style="text-autospace:none"><span
            style="font-family:Monaco">     },<o:p></o:p></span></p>
        <p class="MsoNormal" style="text-autospace:none"><span
            style="font-family:Monaco">    "providers": [<o:p></o:p></span></p>
        <p class="MsoNormal" style="text-autospace:none"><span
            style="font-family:Monaco">        "<u><span
                style="color:black">classpath</span></u>:${jboss.home.dir}/providers/*"<o:p></o:p></span></p>
        <p class="MsoNormal" style="text-autospace:none"><span
            style="font-family:Monaco">    ],<o:p></o:p></span></p>
        <p class="MsoNormal" style="text-autospace:none"><span
            style="font-family:Monaco"><o:p> </o:p></span></p>
        <p class="MsoNormal" style="text-autospace:none"><span
            style="font-family:Monaco">    "<u><span style="color:black">admin</span></u>":
            {<o:p></o:p></span></p>
        <p class="MsoNormal" style="text-autospace:none"><span
            style="font-family:Monaco">        "realm": "master"<o:p></o:p></span></p>
        <p class="MsoNormal" style="text-autospace:none"><span
            style="font-family:Monaco">    },<o:p></o:p></span></p>
        <p class="MsoNormal" style="text-autospace:none"><span
            style="font-family:Monaco"><o:p> </o:p></span></p>
        <p class="MsoNormal" style="text-autospace:none"><span
            style="font-family:Monaco">    "eventsStore": {<o:p></o:p></span></p>
        <p class="MsoNormal" style="text-autospace:none"><span
            style="font-family:Monaco">        "provider": "<u><span
                style="color:black">jpa</span></u>",<o:p></o:p></span></p>
        <p class="MsoNormal" style="text-autospace:none"><span
            style="font-family:Monaco">        "<u><span
                style="color:black">jpa</span></u>": {<o:p></o:p></span></p>
        <p class="MsoNormal" style="text-autospace:none"><span
            style="font-family:Monaco">            "exclude-events": [
            "REFRESH_TOKEN" ]<o:p></o:p></span></p>
        <p class="MsoNormal" style="text-autospace:none"><span
            style="font-family:Monaco">        }<o:p></o:p></span></p>
        <p class="MsoNormal" style="text-autospace:none"><span
            style="font-family:Monaco">    },<o:p></o:p></span></p>
        <p class="MsoNormal" style="text-autospace:none"><span
            style="font-family:Monaco"><o:p> </o:p></span></p>
        <p class="MsoNormal" style="text-autospace:none"><span
            style="font-family:Monaco">    "realm": {<o:p></o:p></span></p>
        <p class="MsoNormal" style="text-autospace:none"><span
            style="font-family:Monaco">        "provider": "<u><span
                style="color:black">jpa</span></u>"<o:p></o:p></span></p>
        <p class="MsoNormal" style="text-autospace:none"><span
            style="font-family:Monaco">    },<o:p></o:p></span></p>
        <p class="MsoNormal" style="text-autospace:none"><span
            style="font-family:Monaco"><o:p> </o:p></span></p>
        <p class="MsoNormal" style="text-autospace:none"><span
            style="font-family:Monaco">    "user": {<o:p></o:p></span></p>
        <p class="MsoNormal" style="text-autospace:none"><span
            style="font-family:Monaco">        "provider": "<u><span
                style="color:black">jpa</span></u>"<o:p></o:p></span></p>
        <p class="MsoNormal" style="text-autospace:none"><span
            style="font-family:Monaco">    },<o:p></o:p></span></p>
        <p class="MsoNormal" style="text-autospace:none"><span
            style="font-family:Monaco"><o:p> </o:p></span></p>
        <p class="MsoNormal" style="text-autospace:none"><span
            style="font-family:Monaco">    "userCache": {<o:p></o:p></span></p>
        <p class="MsoNormal" style="text-autospace:none"><span
            style="font-family:Monaco">        "default" : {<o:p></o:p></span></p>
        <p class="MsoNormal" style="text-autospace:none"><span
            style="font-family:Monaco">            "enabled": true<o:p></o:p></span></p>
        <p class="MsoNormal" style="text-autospace:none"><span
            style="font-family:Monaco">        }<o:p></o:p></span></p>
        <p class="MsoNormal" style="text-autospace:none"><span
            style="font-family:Monaco">    },<o:p></o:p></span></p>
        <p class="MsoNormal" style="text-autospace:none"><span
            style="font-family:Monaco"><o:p> </o:p></span></p>
        <p class="MsoNormal" style="text-autospace:none"><span
            style="font-family:Monaco">    "userSessionPersister": {<o:p></o:p></span></p>
        <p class="MsoNormal" style="text-autospace:none"><span
            style="font-family:Monaco">        "provider": "<u><span
                style="color:black">jpa</span></u>"<o:p></o:p></span></p>
        <p class="MsoNormal" style="text-autospace:none"><span
            style="font-family:Monaco">    },<o:p></o:p></span></p>
        <p class="MsoNormal" style="text-autospace:none"><span
            style="font-family:Monaco"><o:p> </o:p></span></p>
        <p class="MsoNormal" style="text-autospace:none"><span
            style="font-family:Monaco">    "authorizationPersister": {<o:p></o:p></span></p>
        <p class="MsoNormal" style="text-autospace:none"><span
            style="font-family:Monaco">        "provider": "<u><span
                style="color:black">jpa</span></u>"<o:p></o:p></span></p>
        <p class="MsoNormal" style="text-autospace:none"><span
            style="font-family:Monaco">    },<o:p></o:p></span></p>
        <p class="MsoNormal" style="text-autospace:none"><span
            style="font-family:Monaco"><o:p> </o:p></span></p>
        <p class="MsoNormal" style="text-autospace:none"><span
            style="font-family:Monaco">    "timer": {<o:p></o:p></span></p>
        <p class="MsoNormal" style="text-autospace:none"><span
            style="font-family:Monaco">        "provider": "basic"<o:p></o:p></span></p>
        <p class="MsoNormal" style="text-autospace:none"><span
            style="font-family:Monaco">    },<o:p></o:p></span></p>
        <p class="MsoNormal" style="text-autospace:none"><span
            style="font-family:Monaco"><o:p> </o:p></span></p>
        <p class="MsoNormal" style="text-autospace:none"><span
            style="font-family:Monaco">    "theme": {<o:p></o:p></span></p>
        <p class="MsoNormal" style="text-autospace:none"><span
            style="font-family:Monaco">        "staticMaxAge": 2592000,<o:p></o:p></span></p>
        <p class="MsoNormal" style="text-autospace:none"><span
            style="font-family:Monaco">        "cacheTemplates": true,<o:p></o:p></span></p>
        <p class="MsoNormal" style="text-autospace:none"><span
            style="font-family:Monaco">        "cacheThemes": true,<o:p></o:p></span></p>
        <p class="MsoNormal" style="text-autospace:none"><span
            style="font-family:Monaco">        "folder": {<o:p></o:p></span></p>
        <p class="MsoNormal" style="text-autospace:none"><span
            style="font-family:Monaco">          "<u><span
                style="color:black">dir</span></u>":
            "${jboss.home.dir}/themes"<o:p></o:p></span></p>
        <p class="MsoNormal" style="text-autospace:none"><span
            style="font-family:Monaco">        }<o:p></o:p></span></p>
        <p class="MsoNormal" style="text-autospace:none"><span
            style="font-family:Monaco">    },<o:p></o:p></span></p>
        <p class="MsoNormal" style="text-autospace:none"><span
            style="font-family:Monaco"><o:p> </o:p></span></p>
        <p class="MsoNormal" style="text-autospace:none"><span
            style="font-family:Monaco">    "scheduled": {<o:p></o:p></span></p>
        <p class="MsoNormal" style="text-autospace:none"><span
            style="font-family:Monaco">        "interval": 900<o:p></o:p></span></p>
        <p class="MsoNormal" style="text-autospace:none"><span
            style="font-family:Monaco">    },<o:p></o:p></span></p>
        <p class="MsoNormal" style="text-autospace:none"><span
            style="font-family:Monaco"><o:p> </o:p></span></p>
        <p class="MsoNormal" style="text-autospace:none"><span
            style="font-family:Monaco">    "connectionsHttpClient": {<o:p></o:p></span></p>
        <p class="MsoNormal" style="text-autospace:none"><span
            style="font-family:Monaco">        "default": {}<o:p></o:p></span></p>
        <p class="MsoNormal" style="text-autospace:none"><span
            style="font-family:Monaco">    },<o:p></o:p></span></p>
        <p class="MsoNormal" style="text-autospace:none"><span
            style="font-family:Monaco"><o:p> </o:p></span></p>
        <p class="MsoNormal" style="text-autospace:none"><span
            style="font-family:Monaco">    "connectionsJpa": {<o:p></o:p></span></p>
        <p class="MsoNormal" style="text-autospace:none"><span
            style="font-family:Monaco">        "default": {<o:p></o:p></span></p>
        <p class="MsoNormal" style="text-autospace:none"><span
            style="font-family:Monaco">            "dataSource":
            "java:jboss/<u><span style="color:black">datasources</span></u>/KeycloakDS",<o:p></o:p></span></p>
        <p class="MsoNormal" style="text-autospace:none"><span
            style="font-family:Monaco">            "databaseSchema":
            "update"<o:p></o:p></span></p>
        <p class="MsoNormal" style="text-autospace:none"><span
            style="font-family:Monaco">        }<o:p></o:p></span></p>
        <p class="MsoNormal" style="text-autospace:none"><span
            style="font-family:Monaco">    },<o:p></o:p></span></p>
        <p class="MsoNormal" style="text-autospace:none"><span
            style="font-family:Monaco"><o:p> </o:p></span></p>
        <p class="MsoNormal" style="text-autospace:none"><span
            style="font-family:Monaco">    "realmCache": {<o:p></o:p></span></p>
        <p class="MsoNormal" style="text-autospace:none"><span
            style="font-family:Monaco">        "default" : {<o:p></o:p></span></p>
        <p class="MsoNormal" style="text-autospace:none"><span
            style="font-family:Monaco">            "enabled": true<o:p></o:p></span></p>
        <p class="MsoNormal" style="text-autospace:none"><span
            style="font-family:Monaco">        }<o:p></o:p></span></p>
        <p class="MsoNormal" style="text-autospace:none"><span
            style="font-family:Monaco">    },<o:p></o:p></span></p>
        <p class="MsoNormal" style="text-autospace:none"><span
            style="font-family:Monaco"><o:p> </o:p></span></p>
        <p class="MsoNormal" style="text-autospace:none"><span
            style="font-family:Monaco">    "connectionsInfinispan": {<o:p></o:p></span></p>
        <p class="MsoNormal" style="text-autospace:none"><span
            style="font-family:Monaco">        "provider": "default",<o:p></o:p></span></p>
        <p class="MsoNormal" style="text-autospace:none"><span
            style="font-family:Monaco">        "default": {<o:p></o:p></span></p>
        <p class="MsoNormal" style="text-autospace:none"><span
            style="font-family:Monaco">            "cacheContainer" :
            "java:comp/<u><span style="color:black">env</span></u>/<u><span
                style="color:black">infinispan</span></u>/<u><span
                style="color:black">Keycloak</span></u>"<o:p></o:p></span></p>
        <p class="MsoNormal" style="text-autospace:none"><span
            style="font-family:Monaco">        }<o:p></o:p></span></p>
        <p class="MsoNormal" style="text-autospace:none"><span
            style="font-family:Monaco">    }<o:p></o:p></span></p>
        <p class="MsoNormal"><span style="font-family:Monaco">}</span><o:p></o:p></p>
        <div>
          <p class="MsoNormal"><span
              style="font-size:10.5pt;color:black">Thanks,<o:p></o:p></span></p>
          <p class="MsoNormal"><span
              style="font-size:10.5pt;color:black">-- <o:p></o:p></span></p>
          <p class="MsoNormal"><span
              style="font-size:10.5pt;color:black">Zhaohua Meng<o:p></o:p></span></p>
          <p class="MsoNormal"><span
              style="font-size:10.5pt;color:black">Business
              Intelligence, AppNexus<o:p></o:p></span></p>
          <p class="MsoNormal"><span
              style="font-size:10.5pt;color:black">973-936-8028 (cell)<o:p></o:p></span></p>
          <p class="MsoNormal"><span
              style="font-size:10.5pt;color:black">973-415-8028 (home)<o:p></o:p></span></p>
        </div>
        <p class="MsoNormal"><span style="font-size:16.0pt"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span style="font-size:16.0pt"><o:p> </o:p></span></p>
        <div style="border:none;border-top:solid #B5C4DF
          1.0pt;padding:3.0pt 0in 0in 0in">
          <p class="MsoNormal"><b><span style="color:black">From: </span></b><span
              style="color:black">Marek Posolda
              <a class="moz-txt-link-rfc2396E" href="mailto:mposolda@redhat.com">&lt;mposolda@redhat.com&gt;</a><br>
              <b>Date: </b>Monday, August 1, 2016 at 1:32 PM<br>
              <b>To: </b>Zaohua <a class="moz-txt-link-rfc2396E" href="mailto:zmeng@appnexus.com">&lt;zmeng@appnexus.com&gt;</a>,
              <a class="moz-txt-link-rfc2396E" href="mailto:keycloak-user@lists.jboss.org">"keycloak-user@lists.jboss.org"</a>
              <a class="moz-txt-link-rfc2396E" href="mailto:keycloak-user@lists.jboss.org">&lt;keycloak-user@lists.jboss.org&gt;</a><br>
              <b>Subject: </b>Re: [keycloak-user] How to configure a
              user Federation SPI implementation<o:p></o:p></span></p>
        </div>
        <div>
          <p class="MsoNormal"><span style="font-family:&quot;Times New
              Roman&quot;"><o:p> </o:p></span></p>
        </div>
        <div>
          <div>
            <div>
              <p class="MsoNormal">In
                YourUserFederationProviderFactory.init you can read the
                properties, which you configured in the
                keycloak-server.json. It's used in the event example for
                instance. For UserFederation it works the same way :
                <a moz-do-not-send="true"
href="https://github.com/keycloak/keycloak/blob/master/examples/providers/event-store-mem/src/main/java/org/keycloak/examples/providers/events/MemEventStoreProviderFactory.java#L56">https://github.com/keycloak/keycloak/blob/master/examples/providers/event-store-mem/src/main/java/org/keycloak/examples/providers/events/MemEventStoreProviderFactory.java#L56</a>
                <br>
                <br>
                Note that YourUserFederationProviderFactory.getId is
                corresponding to the providerId used in
                keycloak-server.json .
                <br>
                <br>
                Btv. the
                YourUserFederationProviderFactory.getConfigurationOptions()
                you can return list of strings, which will be used as
                names of the properties configurable in admin console.
                This is an alternative to keycloak-server.json
                configuration. See the userFederation example for more
                details.<br>
                <br>
                Marek<br>
                <br>
                On 01/08/16 19:23, Zhaohua Meng wrote:<o:p></o:p></p>
            </div>
            <blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
              <p class="MsoNormal" style="text-autospace:none"><span
                  style="font-size:14.0pt">I wrote a user federation SPI
                  implementation to integrate our internal user
                  management. Particularly, an implementation of
                  org.keycloak.models.UserFederationProviderFactory and
                  org.keycloak.models.UserFederationProvider.</span><o:p></o:p></p>
              <p class="MsoNormal" style="text-autospace:none"><span
                  style="font-size:14.0pt"> </span><o:p></o:p></p>
              <p class="MsoNormal" style="text-autospace:none"><span
                  style="font-size:14.0pt">My question is, how do you
                  configure it in the
                </span><span
                  style="font-size:14.0pt;font-family:&quot;Helvetica
                  Neue \;color\:\#262626&quot;">keycloak-server.json</span><span
                  style="font-size:14.0pt">?</span><o:p></o:p></p>
              <p class="MsoNormal" style="text-autospace:none"><span
                  style="font-size:14.0pt"> </span><o:p></o:p></p>
              <p class="MsoNormal" style="text-autospace:none"><span
                  style="font-size:14.0pt">The documentation gave
                  example for event listener but not user federation.
                  Following the doc with similar approach I tried “{
                  “userFederation”: { “my-impl”: { “myProperty”:””, ...}
                  …}}”, and all kinds of combinations like that but
                  nothing worked. I’d really appreciate if you can share
                  some experience here.</span><o:p></o:p></p>
              <p class="MsoNormal" style="text-autospace:none"><span
                  style="font-size:14.0pt"> </span><o:p></o:p></p>
              <p class="MsoNormal" style="text-autospace:none"><span
                  style="font-size:14.0pt">I’m quoting the doc in this
                  regard here:
                  <a moz-do-not-send="true"
href="https://keycloak.gitbooks.io/server-developer-guide/content/v/2.0/topics/providers.html#providers"><span
                      style="color:#0B4CB4">https://keycloak.gitbooks.io/server-developer-guide/content/v/2.0/topics/providers.html#providers</span></a></span><o:p></o:p></p>
              <p class="MsoNormal" style="text-autospace:none"><span
                  style="font-size:14.0pt"> </span><o:p></o:p></p>
              <p class="MsoNormal" style="text-autospace:none"><span
                  style="font-size:14.0pt">...…</span><o:p></o:p></p>
              <p class="MsoNormal" style="text-autospace:none"><span
                  style="font-size:14.0pt">Configuring a provider</span><o:p></o:p></p>
              <p class="MsoNormal" style="text-autospace:none"><span
                  style="font-size:14.0pt"> </span><o:p></o:p></p>
              <p class="MsoNormal" style="text-autospace:none"><span
                  style="font-size:14.0pt">You can pass configuration
                  options to your provider by setting them in
                  keycloak-server.json. For example to set the max value
                  for my-event-listener add:</span><o:p></o:p></p>
              <p class="MsoNormal" style="text-autospace:none"><span
                  style="font-size:14.0pt">{</span><o:p></o:p></p>
              <p class="MsoNormal" style="text-autospace:none"><span
                  style="font-size:14.0pt">    "eventsListener": {</span><o:p></o:p></p>
              <p class="MsoNormal" style="text-autospace:none"><span
                  style="font-size:14.0pt">        "my-event-listener":
                  {</span><o:p></o:p></p>
              <p class="MsoNormal" style="text-autospace:none"><span
                  style="font-size:14.0pt">            "max": 100</span><o:p></o:p></p>
              <p class="MsoNormal" style="text-autospace:none"><span
                  style="font-size:14.0pt">        }</span><o:p></o:p></p>
              <p class="MsoNormal" style="text-autospace:none"><span
                  style="font-size:14.0pt">    }</span><o:p></o:p></p>
              <p class="MsoNormal" style="text-autospace:none"><span
                  style="font-size:14.0pt">}</span><o:p></o:p></p>
              <p class="MsoNormal" style="text-autospace:none"><span
                  style="font-size:14.0pt">…..</span><o:p></o:p></p>
              <p class="MsoNormal"><span style="font-size:21.0pt"> </span><o:p></o:p></p>
              <p class="MsoNormal"><span style="font-size:16.0pt"> </span><o:p></o:p></p>
              <p class="MsoNormal"><span
                  style="font-size:10.5pt;color:black">Thanks,</span><o:p></o:p></p>
              <p class="MsoNormal"><span
                  style="font-size:10.5pt;color:black">-- </span><o:p></o:p></p>
              <p class="MsoNormal"><span
                  style="font-size:10.5pt;color:black">Zhaohua Meng</span><o:p></o:p></p>
              <p class="MsoNormal"><span
                  style="font-size:10.5pt;color:black">Business
                  Intelligence, AppNexus</span><o:p></o:p></p>
              <p class="MsoNormal"><span
                  style="font-size:10.5pt;color:black">973-936-8028
                  (cell)</span><o:p></o:p></p>
              <p class="MsoNormal"><span
                  style="font-size:10.5pt;color:black">973-415-8028
                  (home)</span><o:p></o:p></p>
              <p class="MsoNormal"> <o:p></o:p></p>
              <p class="MsoNormal"><span style="font-family:&quot;Times
                  New Roman&quot;"><br>
                  <br>
                  <br>
                  <o:p></o:p></span></p>
              <pre>_______________________________________________<o:p></o:p></pre>
              <pre>keycloak-user mailing list<o:p></o:p></pre>
              <pre><a moz-do-not-send="true" href="mailto:keycloak-user@lists.jboss.org">keycloak-user@lists.jboss.org</a><o:p></o:p></pre>
              <pre><a moz-do-not-send="true" href="https://lists.jboss.org/mailman/listinfo/keycloak-user">https://lists.jboss.org/mailman/listinfo/keycloak-user</a><o:p></o:p></pre>
            </blockquote>
            <p class="MsoNormal"><span style="font-family:&quot;Times
                New Roman&quot;"><o:p> </o:p></span></p>
          </div>
        </div>
      </div>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <br>
      <pre wrap="">_______________________________________________
keycloak-user mailing list
<a class="moz-txt-link-abbreviated" href="mailto:keycloak-user@lists.jboss.org">keycloak-user@lists.jboss.org</a>
<a class="moz-txt-link-freetext" href="https://lists.jboss.org/mailman/listinfo/keycloak-user">https://lists.jboss.org/mailman/listinfo/keycloak-user</a></pre>
    </blockquote>
    <br>
  </body>
</html>