<div dir="ltr">I should clarify that the purpose of this plugin is to work with any JWT provider (rather than being Keycloak-focussed).<div><br></div><div>Let me know how it works for you!</div></div><div class="gmail_extra"><br><div class="gmail_quote">On 1 December 2016 at 16:06, Marc Savy <span dir="ltr">&lt;<a href="mailto:marc.savy@redhat.com" target="_blank">marc.savy@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 dir="ltr">Hi,<div><br></div><div>I just pushed a (very simple) generic JWT plugin policy to master. </div><div><br></div><div>To try it out right now you will need to build it. Just check out the apiman/apiman-plugins repo and execute `mvn clean install`. The plugin coordinates will be G: io.apiman.plugins A: apiman-plugins-jwt-policy V: 1.2.9-SNAPSHOT.</div><div><br></div><div>It isn&#39;t yet as feature-rich as the Keycloak plugin, but you can:</div><div><br></div><div>- Require JWT.</div><div>- Require claims (e.g. sub = foo).</div><div><div>- Require transport security (TLS, SSL).</div></div><div>- Require JWT be cryptographically signed (aka. JWS).</div><div>- Validate JWT against a provided public key.  </div><div>- Remove auth tokens (prevent them reaching the backend).<br></div><div>- Set maximum clock skew.</div><div><br></div><div>I&#39;ll expand on this shortly to add something that will hopefully add some commonly-used features from the Keycloak plugin:</div><div><br></div><div>- Allow extraction of roles for authorization</div><div>- Forward token fields as headers (e.g. X-Sub = sub)</div><div><div><br></div><div>Regards,</div><div>Marc</div></div></div>
</blockquote></div><br></div>