<div dir="ltr">Sai,<div><br></div><div>Take a look at <a href="https://github.com/keycloak/keycloak/blob/master/misc/HackingOnKeycloak.md">https://github.com/keycloak/keycloak/blob/master/misc/HackingOnKeycloak.md</a>.</div><div><br></div><div>For implementation on the server side the flows are implemented in TokenEndpoint (<a href="https://github.com/keycloak/keycloak/blob/master/services/src/main/java/org/keycloak/protocol/oidc/endpoints/TokenEndpoint.java">https://github.com/keycloak/keycloak/blob/master/services/src/main/java/org/keycloak/protocol/oidc/endpoints/TokenEndpoint.java</a>). We&#39;d also need this added to the JavaScript adapter <a href="https://github.com/keycloak/keycloak/blob/master/adapters/oidc/js/src/main/resources/keycloak.js">https://github.com/keycloak/keycloak/blob/master/adapters/oidc/js/src/main/resources/keycloak.js</a>.</div><div><br></div><div>For testing we&#39;re in process of moving our tests to Arquillian so new tests should be added to <a href="https://github.com/keycloak/keycloak/tree/master/testsuite/integration-arquillian">https://github.com/keycloak/keycloak/tree/master/testsuite/integration-arquillian</a>, while currently most OpenID Connect/OAuth tests are in the old testsuite (embedded server). </div><div><br></div><div>There&#39;s also a lack of documentation around OpenID Connect/OAuth, but we aim to add a chapter that includes details about what we implement, endpoints, etc..</div><div><br></div><div>A contribution around this would be great. One thing to clarify is that we will not accept any PRs without proper testing or documentation.</div><div><br></div><div>If you have any further questions please ask, but you&#39;ll need to be a bit more specific than &quot;provide some guidance&quot; ;)</div></div><div class="gmail_extra"><br><div class="gmail_quote">On 4 March 2016 at 22:58, Kalidindi, Sai Soma Kala <span dir="ltr">&lt;<a href="mailto:sai-soma-kala.kalidindi@hpe.com" target="_blank">sai-soma-kala.kalidindi@hpe.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 lang="EN-US" link="blue" vlink="purple">
<div><span class="">
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif;color:#1f497d"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif;color:#1f497d"><u></u> <u></u></span></p>
<div>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif;color:#1f497d">Hi,<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif;color:#1f497d"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif;color:#1f497d">I do mean
</span><span style="font-size:10.5pt;font-family:&quot;Calibri&quot;,sans-serif;color:black">RFC 7636:  <a href="https://tools.ietf.org/html/rfc7636" target="_blank">https://tools.ietf.org/html/rfc7636</a>. I would like to contribute PKCE feature to keycloak,. I would appreciate it
 if you can provide some guidance to get me started.<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:10.5pt;font-family:&quot;Calibri&quot;,sans-serif;color:black"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:10.5pt;font-family:&quot;Calibri&quot;,sans-serif;color:black">Thanks,<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:10.5pt;font-family:&quot;Calibri&quot;,sans-serif;color:black">Sai.</span><span style="font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif;color:#1f497d"><u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:10.5pt;font-family:&quot;Calibri&quot;,sans-serif;color:black"><u></u> <u></u></span></p>
</div>
</span><div style="border:none;border-top:solid #b5c4df 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal"><b><span style="font-family:&quot;Calibri&quot;,sans-serif;color:black">From:
</span></b><span style="font-family:&quot;Calibri&quot;,sans-serif;color:black">&lt;<a href="mailto:keycloak-user-bounces@lists.jboss.org" target="_blank">keycloak-user-bounces@lists.jboss.org</a>&gt; on behalf of Stian Thorgersen &lt;<a href="mailto:sthorger@redhat.com" target="_blank">sthorger@redhat.com</a>&gt;<span class=""><br>
<b>Reply-To: </b>&quot;<a href="mailto:stian@redhat.com" target="_blank">stian@redhat.com</a>&quot; &lt;<a href="mailto:stian@redhat.com" target="_blank">stian@redhat.com</a>&gt;<br>
<b>Date: </b>Friday, March 4, 2016 at 3:06 AM<br>
<b>To: </b>&quot;Kalidindi, Sai Soma Kala&quot; &lt;<a href="mailto:sai-soma-kala.kalidindi@hpe.com" target="_blank">sai-soma-kala.kalidindi@hpe.com</a>&gt;<br>
<b>Cc: </b>&quot;<a href="mailto:keycloak-user@lists.jboss.org" target="_blank">keycloak-user@lists.jboss.org</a>&quot; &lt;<a href="mailto:keycloak-user@lists.jboss.org" target="_blank">keycloak-user@lists.jboss.org</a>&gt;<br>
<b>Subject: </b>Re: [keycloak-user] Proof Key For Code Exchange<u></u><u></u></span></span></p>
</div><span class="">
<div>
<p class="MsoNormal"><span style="font-size:10.5pt;font-family:&quot;Calibri&quot;,sans-serif;color:black"><u></u> <u></u></span></p>
</div>
<div>
<div>
<div>
<p class="MsoNormal"><span style="font-size:10.5pt;font-family:&quot;Calibri&quot;,sans-serif;color:black">Assuming you mean RFC 7637 Proof Key for Code Exchange by OAuth Public Clients we are considering adding it and it&#39;s on our road-map. It will be a while until we
 get around to implementing it though. <u></u><u></u></span></p>
<div>
<p class="MsoNormal"><span style="font-size:10.5pt;font-family:&quot;Calibri&quot;,sans-serif;color:black"><u></u> <u></u></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:10.5pt;font-family:&quot;Calibri&quot;,sans-serif;color:black">If you&#39;d like to contribute this feature to Keycloak it would be more than welcome assuming it came with tests and documentation. <u></u><u></u></span></p>
</div>
</div>
<div>
<p class="MsoNormal"><span style="font-size:10.5pt;font-family:&quot;Calibri&quot;,sans-serif;color:black"><u></u> <u></u></span></p>
<div>
<p class="MsoNormal"><span style="font-size:10.5pt;font-family:&quot;Calibri&quot;,sans-serif;color:black">On 3 March 2016 at 17:06, Kalidindi, Sai Soma Kala &lt;<a href="mailto:sai-soma-kala.kalidindi@hpe.com" target="_blank">sai-soma-kala.kalidindi@hpe.com</a>&gt; wrote:<u></u><u></u></span></p>
<blockquote style="border:none;border-left:solid #cccccc 1.0pt;padding:0in 0in 0in 6.0pt;margin-left:4.8pt;margin-right:0in">
<div>
<div>
<p class="MsoNormal"><span style="color:black">Hi,<u></u><u></u></span></p>
<p class="MsoNormal"><span style="color:black"> <u></u><u></u></span></p>
<p class="MsoNormal"><span style="color:black">I am a beginner in keycloak. We are trying to implement Proof Key For Code Exchange in the keycloak, which is deployed as a container in our production
 right now. I would appreciate If I can get any helpful links or advice to implement PKCE.
<u></u><u></u></span></p>
<p class="MsoNormal"><span style="color:black"> <u></u><u></u></span></p>
<p class="MsoNormal"><span style="color:black">Thanks,<u></u><u></u></span></p>
<p class="MsoNormal"><span style="color:black">Sai.
<u></u><u></u></span></p>
</div>
</div>
<p class="MsoNormal"><span style="font-size:10.5pt;font-family:&quot;Calibri&quot;,sans-serif;color:black"><br>
_______________________________________________<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><u></u><u></u></span></p>
</blockquote>
</div>
<p class="MsoNormal"><span style="font-size:10.5pt;font-family:&quot;Calibri&quot;,sans-serif;color:black"><u></u> <u></u></span></p>
</div>
</div>
</div>
</span></div>
</div>

</blockquote></div><br></div>