<div dir="ltr">Thanks! I really appreciate you guys helping me out with integrating Keycloak.<div><br></div><div><br></div><div>Vinay</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Aug 17, 2015 at 4:01 AM, Stian Thorgersen <span dir="ltr">&lt;<a href="mailto:stian@redhat.com" target="_blank">stian@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"><span class=""><br>
<br>
----- Original Message -----<br>
&gt; From: &quot;Vinay Anantharaman&quot; &lt;<a href="mailto:vinayan3@gmail.com">vinayan3@gmail.com</a>&gt;<br>
</span><span class="">&gt; To: &quot;Bill Burke&quot; &lt;<a href="mailto:bburke@redhat.com">bburke@redhat.com</a>&gt;<br>
&gt; Cc: <a href="mailto:keycloak-dev@lists.jboss.org">keycloak-dev@lists.jboss.org</a><br>
&gt; Sent: Friday, 14 August, 2015 9:42:39 PM<br>
&gt; Subject: Re: [keycloak-dev] Implementing database-service example in Python<br>
&gt;<br>
&gt; I&#39;ll be looking into this and will report back if a library exists for Python<br>
&gt; to read JWT tokens.<br>
&gt;<br>
&gt; I was wondering is there an API on the KeyCloak server for doing JWT token<br>
&gt; verification? Or rather should we decode the token and use the REST admin<br>
&gt; endpoints if we need to query more information?<br>
<br>
</span>There is a rest endpoint that can be used to verify a token, but that requires a request to KC. As the token is signed it&#39;s better to just check it locally as it reduces the amount of request to Keycloak.<br>
<div class="HOEnZb"><div class="h5"><br>
&gt;<br>
&gt;<br>
&gt; Vinay<br>
&gt;<br>
&gt; On Thu, Aug 13, 2015 at 9:05 AM, Bill Burke &lt; <a href="mailto:bburke@redhat.com">bburke@redhat.com</a> &gt; wrote:<br>
&gt;<br>
&gt;<br>
&gt; If you&#39;re interested in becoming a contributor Vinay, this would be a<br>
&gt; very useful extension!<br>
&gt;<br>
&gt; BTW, we also have a &quot;lightweight&quot; Java Security HTTP Proxy based on<br>
&gt; Undertow that you can use to secure python apps.<br>
&gt;<br>
&gt; On 8/13/2015 2:00 AM, Stian Thorgersen wrote:<br>
&gt; &gt; Afraid we don&#39;t have any libraries for Python yet.<br>
&gt; &gt;<br>
&gt; &gt; Simply verifying the token should be relatively straight forward though.<br>
&gt; &gt; It&#39;s a standard JWT token (base64 encoded json) with a JWS signature. You<br>
&gt; &gt; can look at RSATokenVerifier to see what details should be verified<br>
&gt; &gt; (expiration date, issuer, etc..). You also need to verify the signature.<br>
&gt; &gt; There may quite likely be JWT libraries for Python you can use.<br>
&gt; &gt;<br>
&gt; &gt; ----- Original Message -----<br>
&gt; &gt;&gt; From: &quot;Vinay Anantharaman&quot; &lt; <a href="mailto:vinayan3@gmail.com">vinayan3@gmail.com</a> &gt;<br>
&gt; &gt;&gt; To: <a href="mailto:keycloak-dev@lists.jboss.org">keycloak-dev@lists.jboss.org</a><br>
&gt; &gt;&gt; Sent: Thursday, 13 August, 2015 12:21:01 AM<br>
&gt; &gt;&gt; Subject: [keycloak-dev] Implementing database-service example in Python<br>
&gt; &gt;&gt;<br>
&gt; &gt;&gt; Hi,<br>
&gt; &gt;&gt; I&#39;m trying to implement the example database service from Python. The<br>
&gt; &gt;&gt; description is here:<br>
&gt; &gt;&gt;<br>
&gt; &gt;&gt;<br>
&gt; &gt;&gt;<br>
&gt; &gt;&gt; <a href="https://github.com/keycloak/keycloak/tree/master/examples/demo-template" rel="noreferrer" target="_blank">https://github.com/keycloak/keycloak/tree/master/examples/demo-template</a><br>
&gt; &gt;&gt;<br>
&gt; &gt;&gt; Our backend service is contacted directly by clients with an access token<br>
&gt; &gt;&gt; from the Keycloak server. We would like to verify access tokens are and<br>
&gt; &gt;&gt; then<br>
&gt; &gt;&gt; return some data they need. I was looking at the code here:<br>
&gt; &gt;&gt;<br>
&gt; &gt;&gt;<br>
&gt; &gt;&gt;<br>
&gt; &gt;&gt; <a href="https://github.com/keycloak/keycloak/blob/master/examples/demo-template/database-" rel="noreferrer" target="_blank">https://github.com/keycloak/keycloak/blob/master/examples/demo-template/database-</a><br>
&gt; &gt;&gt; service/src/main/java/org/keycloak/example/oauth/CustomerService.java<br>
&gt; &gt;&gt;<br>
&gt; &gt;&gt; In Java this seems quite trivial with the support of Keycloak libraries.<br>
&gt; &gt;&gt; In<br>
&gt; &gt;&gt; Python I won&#39;t have them. What are the APIs on Keycloak I can use to<br>
&gt; &gt;&gt; verify<br>
&gt; &gt;&gt; an access token? Furthermore, are you aware of any classes like<br>
&gt; &gt;&gt; RSATokenVerifier for python? I saw it being used here:<br>
&gt; &gt;&gt;<br>
&gt; &gt;&gt;<br>
&gt; &gt;&gt;<br>
&gt; &gt;&gt; <a href="https://github.com/keycloak/keycloak/blob/master/testsuite/integration/src/test/java/org/keycloak/testsuite/OAuthClient.java#L319" rel="noreferrer" target="_blank">https://github.com/keycloak/keycloak/blob/master/testsuite/integration/src/test/java/org/keycloak/testsuite/OAuthClient.java#L319</a><br>
&gt; &gt;&gt;<br>
&gt; &gt;&gt; Thanks,<br>
&gt; &gt;&gt;<br>
&gt; &gt;&gt;<br>
&gt; &gt;&gt; Vinay Anantharaman<br>
&gt; &gt;&gt;<br>
&gt; &gt;&gt; _______________________________________________<br>
&gt; &gt;&gt; keycloak-dev mailing list<br>
&gt; &gt;&gt; <a href="mailto:keycloak-dev@lists.jboss.org">keycloak-dev@lists.jboss.org</a><br>
&gt; &gt;&gt; <a href="https://lists.jboss.org/mailman/listinfo/keycloak-dev" rel="noreferrer" target="_blank">https://lists.jboss.org/mailman/listinfo/keycloak-dev</a><br>
&gt; &gt; _______________________________________________<br>
&gt; &gt; keycloak-dev mailing list<br>
&gt; &gt; <a href="mailto:keycloak-dev@lists.jboss.org">keycloak-dev@lists.jboss.org</a><br>
&gt; &gt; <a href="https://lists.jboss.org/mailman/listinfo/keycloak-dev" rel="noreferrer" target="_blank">https://lists.jboss.org/mailman/listinfo/keycloak-dev</a><br>
&gt; &gt;<br>
&gt;<br>
&gt; --<br>
&gt; Bill Burke<br>
&gt; JBoss, a division of Red Hat<br>
&gt; <a href="http://bill.burkecentral.com" rel="noreferrer" target="_blank">http://bill.burkecentral.com</a><br>
&gt; _______________________________________________<br>
&gt; keycloak-dev mailing list<br>
&gt; <a href="mailto:keycloak-dev@lists.jboss.org">keycloak-dev@lists.jboss.org</a><br>
&gt; <a href="https://lists.jboss.org/mailman/listinfo/keycloak-dev" rel="noreferrer" target="_blank">https://lists.jboss.org/mailman/listinfo/keycloak-dev</a><br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt; --<br>
&gt; Vinay Anantharaman<br>
&gt;<br>
&gt; _______________________________________________<br>
&gt; keycloak-dev mailing list<br>
&gt; <a href="mailto:keycloak-dev@lists.jboss.org">keycloak-dev@lists.jboss.org</a><br>
&gt; <a href="https://lists.jboss.org/mailman/listinfo/keycloak-dev" rel="noreferrer" target="_blank">https://lists.jboss.org/mailman/listinfo/keycloak-dev</a><br>
</div></div></blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature">Vinay Anantharaman</div>
</div>