<div dir="ltr"><div>Hi,</div><div><br></div><div><a href="https://github.com/openid/AppAuth-JS/pull/67">AppAuth-JS PR #67</a> was closed with some comments and I think the code is still useful for the community. And we may take initiative for the extension library development in the future for non core OIDC (OpenID Connect) functionalities.</div><div><br></div><div>We can contribute to the AppAuth-JS to have functionality aligning the OIDC spec.<br></div><div><br></div><div>I have some questions to clarify.</div><div><br></div><div>Q1. <a href="http://openid.net/specs/openid-connect-core-1_0.html#UserInfo">As of core OIDC spec, we can add userInfo route</a> the <a href="https://github.com/openid/AppAuth-JS">AppAuth-JS library</a>. So, I have given on #67 PR an optional method to the library which is beneficial for you. Are you good with this? If not please inform the alternative way of you architectural roadmap that you already have for the OIDC, may be I can contribute that. But I still think the implementation of userInfo route code is useful. Then I can send a separate PR only with the changes for userInfo.</div><div><br></div><div>Moreover, As of <a href="https://github.com/openid/AppAuth-JS/pull/67">PR #67</a> seems you want to follow Oauth2, but this AppAuth-JS is about OpenID Connect I think and it is listed under <a href="https://github.com/openid/*">https://github.com/openid/*</a> OpenID Foundation. So, userInfo functionality should lie under the AppAuth-JS library. So, I see contradiction here.<br></div><div><br></div><div>Q2. What is your architectural approach for OIDC logout (end session route)? <a href="http://openid.net/specs/openid-connect-session-1_0.html#RPLogout">As of draft OIDC spec, there should be a logout implementation</a>. In <a href="https://github.com/openid/AppAuth-JS/pull/67">PR #67</a> I have added OIDC logout, since it is not in the core OIDC spec, we can move it to the extension library as well. Or else, since it is in OIDC spec draft, I can send it as a separate PR. So, what is the future architectural move for this draft OIDC end session spec?<br></div><div><br></div><div>Q3. PKCE for web clients: As of the <a href="https://github.com/openid/AppAuth-JS/issues/28">AppAuth-JS PR #28</a> we can move with authorization request field extras. But does that cover enough scope of <a href="https://tools.ietf.org/html/rfc7636#section-1">Oauth2 PKCE spec</a> by the OpenID Connect Foundation's AppAuth-JS library? If an Appauth-JS user app should generate PKCE verifier and challenge, PKCE spec is not fully covered under this library, it flows to the user's code and it can be duplicated. What I can suggest is, we can give the verifier and challenge generated and added to the token request only if user code does not send those fields via extras. What do you think on this?</div><div><br></div><div>Q4. I assume WebCrypto means window.crypto here in Javascript (it is not explained in the PR #67 properly because <a href="https://www.npmjs.com/package/webcrypto">webcrypto-npm</a>, window.crypto and <a href="https://developer.mozilla.org/en-US/docs/Web/API/Web_Crypto_API">webcrypto</a> exist). I saw node_support but using window.crypto will not work with NodeJs. I saw AppAuth-JS has used a workaround in <a href="https://github.com/openid/AppAuth-JS/blob/master/src/crypto_utils.ts">crypto_utils.ts</a> line 29. For node support, it is like reinventing the wheel by not using an existing crypto library. But still I can send you a separate PR, if you clearly explain the architectural requirement because this is not related to any concerns with OIDC spec or Oauth2 spec.</div><div><br></div><div>If there are any unclear points made by me, let me know.<br></div><div><br>-- <br><div dir="ltr" class="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><span></span><span></span>Chinthaka Senanayaka<br><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div>Mobile: +94 77 11 99 603<br></div><div><a href="https://lk.linkedin.com/in/csenanayaka" target="_blank">LinkedIn</a><br></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div>