<html><head></head><body><div>Hi Stian,</div><div><br></div><div>Thanks for clarifications, got it. Meanwhile, I've more or less figured out how to build an ad-hoc custom admin resource, maybe this could be interesting for you or other developers.</div><div><br></div><div>The code is here:&nbsp;<a href="https://github.com/dteleguin/custom-admin-roles">https://github.com/dteleguin/custom-admin-roles</a></div><div><br></div><div>Setting aside the frontend and role creation issues, the main problem was to obtain HttpHeaders upon resource creation, so that JWS could be extracted. (Surely, we could use a @Context HttpHeaders argument in every service method, but that would lead to unnecessary argument list pollution.)</div><div>What I did was to introduce a @Context HttpHeaders private field in HelloResource, and manually perform injection in HelloResourceProvider:</div><div><br></div><pre>&nbsp; &nbsp; @Override</pre><pre>&nbsp;&nbsp;&nbsp;&nbsp;public Object getResource() {</pre><pre><br></pre><pre>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;HelloResource hello = new HelloResource();</pre><pre>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ResteasyProviderFactory.getInstance().injectProperties(hello);</pre><pre>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;hello.setupAuth();</pre><pre>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return hello;</pre><pre><br></pre><pre>&nbsp;&nbsp;&nbsp;&nbsp;}</pre><pre><br></pre><div>This is identical to what is done for admin sub-resources in org.keycloak.services.resources.RealmsResource. The question is, why couldn't injection be done in RealmsResource::resolveRealmExtension? Having support for @Context fields injection is very useful, but I don't think custom providers should monkey with Resteasy internals themselves.&nbsp;</div><div><br></div><div>Dmitry</div><div><br></div><blockquote type="cite"><div dir="ltr">Once we introduce a realm admin resource provider I was hoping it would sort out these issues. It's not a high priority for us at the moment though, especially not considering that in the future we want to remove the master realm as well as remove the whoAmI endpoint used by the admin client and instead make it use the token directly.</div><div class="gmail_extra"><br><div class="gmail_quote">On 23 August 2016 at 14:08, Dmitry Telegin <span dir="ltr">&lt;<a href="mailto:mitya@cargosoft.ru" target="_blank">mitya@cargosoft.ru</a>&gt;</span> wrote:<br><blockquote type="cite"><div><div>Anybody here?</div><div>Was a bad idea to make an important posting on the Friday evening :)</div></div><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></blockquote></div><br></div>
</blockquote></body></html>