<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Georgia;
        panose-1:2 4 5 2 5 4 5 2 3 3;}
@font-face
        {font-family:Consolas;
        panose-1:2 11 6 9 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman",serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
code
        {mso-style-priority:99;
        font-family:"Courier New";}
pre
        {mso-style-priority:99;
        mso-style-link:"HTML Preformatted Char";
        margin:0cm;
        margin-bottom:.0001pt;
        font-size:10.0pt;
        font-family:"Courier New";}
p.msonormal0, li.msonormal0, div.msonormal0
        {mso-style-name:msonormal;
        mso-margin-top-alt:auto;
        margin-right:0cm;
        mso-margin-bottom-alt:auto;
        margin-left:0cm;
        font-size:12.0pt;
        font-family:"Times New Roman",serif;}
span.HTMLPreformattedChar
        {mso-style-name:"HTML Preformatted Char";
        mso-style-priority:99;
        mso-style-link:"HTML Preformatted";
        font-family:Consolas;
        mso-fareast-language:NL;}
span.EmailStyle21
        {mso-style-type:personal-reply;
        font-family:"Calibri",sans-serif;
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-family:"Calibri",sans-serif;
        mso-fareast-language:EN-US;}
@page WordSection1
        {size:612.0pt 792.0pt;
        margin:70.85pt 70.85pt 70.85pt 70.85pt;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="NL" link="blue" vlink="purple">
<div class="WordSection1">
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif;mso-fareast-language:EN-US">Google didn’t help.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif;mso-fareast-language:EN-US"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif;mso-fareast-language:EN-US">There was 2 things, first of all, I should return Response object (not String):<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif;mso-fareast-language:EN-US"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal" style="background:#2B2B2B"><span lang="EN-US" style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:#BBB529">@Path</span><span lang="EN-US" style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:#A9B7C6">(</span><span lang="EN-US" style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:#6A8759">&quot;/{action}&quot;</span><span lang="EN-US" style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:#A9B7C6">)<br>
</span><span lang="EN-US" style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:#BBB529">@GET<br>
</span><span lang="EN-US" style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:#CC7832">public
</span><span lang="EN-US" style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:#A9B7C6">Response
</span><span lang="EN-US" style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:#FFC66D">get</span><span lang="EN-US" style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:#A9B7C6">(</span><span lang="EN-US" style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:#BBB529">@PathParam</span><span lang="EN-US" style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:#A9B7C6">(</span><span lang="EN-US" style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:#6A8759">&quot;action&quot;</span><span lang="EN-US" style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:#A9B7C6">)
 String action) {<br>
&nbsp;&nbsp;&nbsp; String <span style="background:#40332B">json</span> = </span><span lang="EN-US" style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:#6A8759">&quot;{</span><span lang="EN-US" style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:#CC7832">\&quot;</span><span lang="EN-US" style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:#6A8759">test</span><span lang="EN-US" style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:#CC7832">\&quot;</span><span lang="EN-US" style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:#6A8759">
 : </span><span lang="EN-US" style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:#CC7832">\&quot;</span><span lang="EN-US" style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:#6A8759">&quot;
</span><span lang="EN-US" style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:#A9B7C6">&#43; action &#43;
</span><span lang="EN-US" style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:#6A8759">&quot;</span><span lang="EN-US" style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:#CC7832">\&quot;</span><span lang="EN-US" style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:#6A8759">}&quot;</span><span lang="EN-US" style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:#CC7832">;<br>
&nbsp;&nbsp;&nbsp; return </span><span lang="EN-US" style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:#A9B7C6">Response.<i>ok</i>(<span style="background:#344134">json</span></span><span lang="EN-US" style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:#CC7832">,
</span><span lang="EN-US" style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:#A9B7C6">MediaType.</span><i><span lang="EN-US" style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:#9876AA">APPLICATION_JSON_TYPE</span></i><span lang="EN-US" style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:#A9B7C6">).build()</span><span lang="EN-US" style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:#CC7832">;<br>
</span><span lang="EN-US" style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:#A9B7C6">}<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif;mso-fareast-language:EN-US"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif;mso-fareast-language:EN-US">Second thing is that you need to add dependency to module (during install) because you will get ClassNotFoundException:<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif;mso-fareast-language:EN-US"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif;mso-fareast-language:EN-US">--dependencies=org.keycloak.keycloak-core,org.keycloak.keycloak-server-spi,org.keycloak.keycloak-services,javax.servlet.api,org.jboss.resteasy.resteasy-jaxrs,<b>javax.ws.rs.api</b>&quot;<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif;mso-fareast-language:EN-US"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif;mso-fareast-language:EN-US">I hope this will help other people.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif;mso-fareast-language:EN-US"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif;mso-fareast-language:EN-US">Mariusz Chruścielewski<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif;mso-fareast-language:EN-US"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal"><b><span lang="EN-US" style="font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif">From:</span></b><span lang="EN-US" style="font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif"> Stian Thorgersen [mailto:sthorger@redhat.com]
<br>
<b>Sent:</b> donderdag 29 september 2016 11:33<br>
<b>To:</b> Stian Thorgersen &lt;stian@redhat.com&gt;<br>
<b>Cc:</b> Mariusz Chruscielewski - Info.nl &lt;mariusz@info.nl&gt;; keycloak-user@lists.jboss.org<br>
<b>Subject:</b> Re: [keycloak-user] Custom rest endpoint<o:p></o:p></span></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<div>
<p class="MsoNormal">Also, try Googling &quot;RESTEASY003815: Subresource for target class has no jax-rs annotations&quot;. I'm sure others has had that issue with RestEasy/JAX-RS before.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<div>
<p class="MsoNormal">On 29 September 2016 at 11:31, Stian Thorgersen &lt;<a href="mailto:sthorger@redhat.com" target="_blank">sthorger@redhat.com</a>&gt; wrote:<o:p></o:p></p>
<blockquote style="border:none;border-left:solid #CCCCCC 1.0pt;padding:0cm 0cm 0cm 6.0pt;margin-left:4.8pt;margin-right:0cm">
<div>
<p class="MsoNormal">Did you try the example does it work?<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<div>
<div>
<div>
<p class="MsoNormal">On 28 September 2016 at 13:35, Mariusz Chruscielewski - Info.nl &lt;<a href="mailto:mariusz@info.nl" target="_blank">mariusz@info.nl</a>&gt; wrote:<o:p></o:p></p>
</div>
</div>
<blockquote style="border:none;border-left:solid #CCCCCC 1.0pt;padding:0cm 0cm 0cm 6.0pt;margin-left:4.8pt;margin-right:0cm">
<div>
<div>
<div>
<div>
<pre style="background:#2B2B2B"><span lang="EN-US">I can’t make REST endpoint work, I’m using exactly code supplied in example, I tried also to check how standard endpoints in keycloak code are created, all looks similar:<br><br><span style="color:#A9B7C6"><br></span><i><span style="color:#629755">/**<br> * <b>@author </b></span><span style="color:#77B767">&lt;a href=&quot;mailto:<a href="mailto:sthorger@redhat.com" target="_blank">sthorger@redhat.com</a>&quot;&gt;</span><span style="color:#629755">Stian Thorgersen</span><span style="color:#77B767">&lt;/a&gt;<br> </span><span style="color:#629755">*/<br></span></i><span style="color:#CC7832">public class </span><span style="color:#A9B7C6">HelloResourceProvider </span><span style="color:#CC7832">implements </span><span style="color:#A9B7C6">RealmResourceProvider {<br><br>&nbsp;&nbsp;&nbsp; </span><span style="color:#CC7832">private </span><span style="color:#A9B7C6">KeycloakSession </span><span style="color:#9876AA">session</span><span style="color:#CC7832">;<br><br>&nbsp;&nbsp;&nbsp; public </span><span style="color:#FFC66D">HelloResourceProvider</span><span style="color:#A9B7C6">(KeycloakSession session) {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color:#CC7832">this</span><span style="color:#A9B7C6">.</span><span style="color:#9876AA">session </span><span style="color:#A9B7C6">= session</span><span style="color:#CC7832">;<br>&nbsp;&nbsp;&nbsp; </span><span style="color:#A9B7C6">}<br><br>&nbsp;&nbsp;&nbsp; </span><span style="color:#BBB529">@GET<br>&nbsp;&nbsp;&nbsp; @Produces</span><span style="color:#A9B7C6">(MediaType.</span><i><span style="color:#9876AA">TEXT_HTML</span></i><span style="color:#A9B7C6">)<br>&nbsp;&nbsp;&nbsp; </span><span style="color:#BBB529">@Path</span><span style="color:#A9B7C6">(</span><span style="color:#6A8759">&quot;/{action}&quot;</span><span style="color:#A9B7C6">)<br>&nbsp;&nbsp;&nbsp; </span><span style="color:#CC7832">public </span><span style="color:#A9B7C6">String </span><span style="color:#FFC66D">get</span><span style="color:#A9B7C6">(</span><span style="color:#BBB529">@PathParam</span><span style="color:#A9B7C6">(</span><span style="color:#6A8759">&quot;action&quot;</span><span style="color:#A9B7C6">) String action) {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color:gray">//String requestUri = session.getContext().getUri().getRequestUri().toString();<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color:#A9B7C6">String title = </span><span style="color:#6A8759">&quot;APP_REQUEST&quot;</span><span style="color:#CC7832">;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if </span><span style="color:#A9B7C6">(action.equals(</span><span style="color:#6A8759">&quot;auth&quot;</span><span style="color:#A9B7C6">)) {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; title = </span><span style="color:#6A8759">&quot;AUTH_RESPONSE&quot;</span><span style="color:#CC7832">;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color:#A9B7C6">} </span><span style="color:#CC7832">else if </span><span style="color:#A9B7C6">(action.equals(</span><span style="color:#6A8759">&quot;logout&quot;</span><span style="color:#A9B7C6">)) {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; title = </span><span style="color:#6A8759">&quot;LOGOUT_REQUEST&quot;</span><span style="color:#CC7832">;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color:#A9B7C6">}<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; StringBuilder sb = </span><span style="color:#CC7832">new </span><span style="color:#A9B7C6">StringBuilder()</span><span style="color:#CC7832">;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color:#A9B7C6">sb.append(</span><span style="color:#6A8759">&quot;&lt;html&gt;&lt;head&gt;&lt;title&gt;&quot; </span><span style="color:#A9B7C6">&#43; title &#43; </span><span style="color:#6A8759">&quot;&lt;/title&gt;&lt;/head&gt;&lt;body&gt;&quot;</span><span style="color:#A9B7C6">)</span><span style="color:#CC7832">;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color:#A9B7C6">UriBuilder base = UriBuilder.<i>fromUri</i>(</span><span style="color:#6A8759">&quot;<a href="http://localhost:8180/auth" target="_blank">http://localhost:8180/auth</a>&quot;</span><span style="color:#A9B7C6">)</span><span style="color:#CC7832">;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color:#A9B7C6">sb.append(</span><span style="color:#6A8759">&quot;&lt;a href=</span><span style="color:#CC7832">\&quot;</span><span style="color:#6A8759">&quot; </span><span style="color:#A9B7C6">&#43; RealmsResource.<i>accountUrl</i>(base).build(</span><span style="color:#6A8759">&quot;test&quot;</span><span style="color:#A9B7C6">).toString() &#43; </span><span style="color:#6A8759">&quot;</span><span style="color:#CC7832">\&quot;</span><span style="color:#6A8759"> id=</span><span style="color:#CC7832">\&quot;</span><span style="color:#6A8759">account</span><span style="color:#CC7832">\&quot;</span><span style="color:#6A8759">&gt;account&lt;/a&gt;&quot;</span><span style="color:#A9B7C6">)</span><span style="color:#CC7832">;<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color:#A9B7C6">sb.append(</span><span style="color:#6A8759">&quot;&lt;/body&gt;&lt;/html&gt;&quot;</span><span style="color:#A9B7C6">)</span><span style="color:#CC7832">;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return </span><span style="color:#A9B7C6">sb.toString()</span><span style="color:#CC7832">;<br>&nbsp;&nbsp;&nbsp; </span><span style="color:#A9B7C6">}<br><br>&nbsp;&nbsp;&nbsp; </span><span style="color:#BBB529">@Override<br>&nbsp;&nbsp;&nbsp; </span><span style="color:#CC7832">public </span><span style="color:#A9B7C6">Object </span><span style="color:#FFC66D">getResource</span><span style="color:#A9B7C6">() {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color:#CC7832">return this;<br>&nbsp;&nbsp;&nbsp; </span><span style="color:#A9B7C6">}<br><br>&nbsp;&nbsp;&nbsp; </span><span style="color:#BBB529">@Override<br>&nbsp;&nbsp;&nbsp; </span><span style="color:#CC7832">public void </span><span style="color:#FFC66D">close</span><span style="color:#A9B7C6">() {<br>&nbsp;&nbsp;&nbsp; }<br><br>}</span></span><o:p></o:p></pre>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US">&nbsp;</span><o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US">&nbsp;</span><o:p></o:p></p>
<pre style="margin:6.0pt"><span lang="EN-US">But I’m still getting:</span><o:p></o:p></pre>
<pre style="mso-margin-top-alt:0cm;margin-right:6.0pt;margin-bottom:6.0pt;margin-left:0cm"><span lang="EN-US">&nbsp;</span><o:p></o:p></pre>
<pre style="margin:6.0pt"><code><span lang="EN-US" style="font-family:Consolas;color:black">RESTEASY003815: Subresource for target class has no jax-rs annotations.: nl.vi.keycloak.providers.rest.HelloResourceProvider</span></code><o:p></o:p></pre>
<pre style="margin:6.0pt"><code><span lang="EN-US" style="font-family:Consolas;color:black">&nbsp;</span></code><o:p></o:p></pre>
<pre style="margin:6.0pt"><code><span lang="EN-US" style="font-family:Consolas;color:black">Can you please help me? Thanks</span></code><o:p></o:p></pre>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">&nbsp;<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">&nbsp;<o:p></o:p></p>
<table class="MsoNormalTable" border="0" cellpadding="0" width="461" style="width:345.65pt">
<tbody>
<tr style="height:11.15pt">
<td style="padding:0cm 0cm 0cm 0cm;height:11.15pt">
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;line-height:12.0pt">
<span style="font-size:10.0pt;font-family:&quot;Georgia&quot;,serif;color:black">Kind Regards,</span><o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;line-height:12.0pt">
<span style="font-size:10.0pt;font-family:&quot;Georgia&quot;,serif;color:black">&nbsp;</span><o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;line-height:12.0pt">
<span style="font-size:10.0pt;font-family:&quot;Georgia&quot;,serif;color:black">Mariusz Chruscielewski</span><o:p></o:p></p>
</td>
</tr>
<tr style="height:11.15pt">
<td style="padding:0cm 0cm 15.0pt 0cm;height:11.15pt">
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;line-height:12.0pt">
<span lang="EN-US" style="font-size:10.0pt;font-family:&quot;Georgia&quot;,serif;color:black">Software Engineer &nbsp;|&nbsp;&nbsp;<a href="mailto:mariusz@info.nl" target="_blank">mariusz@info.nl</a>&nbsp;</span><o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;line-height:12.0pt">
<span lang="EN-US" style="font-size:10.0pt;font-family:&quot;Georgia&quot;,serif;color:black">&#43;31 (0)20 530 91 13 |
<a href="tel:%2B48%20695%20555%20292" target="_blank">&#43;48 695 555 292</a> </span>
<o:p></o:p></p>
</td>
</tr>
<tr style="height:15.3pt">
<td style="padding:0cm 0cm 3.0pt 0cm;height:15.3pt">
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;line-height:16.0pt">
<span style="font-size:10.0pt;font-family:&quot;Georgia&quot;,serif;color:black"><a href="http://www.info.nl/" target="_blank"><span lang="EN-US" style="font-size:14.0pt;color:white;background:black">info.nl</span><span lang="EN-US">&nbsp;&nbsp;&nbsp;&nbsp;</span></a><a href="http://www.info.nl/nl?utm_source=e-mail_sig&amp;utm_medium=e-mail&amp;utm_term=connecting_the_dots&amp;utm_campaign=info_sig" target="_blank"><i><span lang="EN-US" style="color:black">making
 platforms work</span></i></a></span><o:p></o:p></p>
</td>
</tr>
<tr style="height:11.15pt">
<td style="padding:0cm 0cm 15.0pt 0cm;height:11.15pt">
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;line-height:12.0pt">
<span style="font-size:10.0pt;font-family:&quot;Georgia&quot;,serif;color:black">Sint Antoniesbreestraat 16 &nbsp;| &nbsp;1011 HB Amsterdam &nbsp;| &nbsp;&#43;31 (0)20 530 91 11</span><o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;line-height:12.0pt">
<span style="font-size:10.0pt;font-family:&quot;Georgia&quot;,serif"><a href="https://www.facebook.com/infonl" target="_blank">Facebook</a> |
<a href="https://twitter.com/infonl" target="_blank">Twitter</a> | <a href="https://www.linkedin.com/company/info-nl" target="_blank">
LinkedIn</a> | <a href="https://plus.google.com/&#43;infonl/" target="_blank">Google&#43;</a></span><o:p></o:p></p>
</td>
</tr>
</tbody>
</table>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">&nbsp;<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">&nbsp;<o:p></o:p></p>
</div>
</div>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
</div>
</div>
<p class="MsoNormal">_______________________________________________<br>
keycloak-user mailing list<br>
<a href="mailto:keycloak-user@lists.jboss.org" target="_blank">keycloak-user@lists.jboss.org</a><br>
<a href="https://lists.jboss.org/mailman/listinfo/keycloak-user" target="_blank">https://lists.jboss.org/mailman/listinfo/keycloak-user</a><o:p></o:p></p>
</blockquote>
</div>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
</div>
</blockquote>
</div>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
</div>
</div>
</body>
</html>