50°F

Aaron Parecki

  • Articles
  • Notes
  • Photos
  • Brock Allen https://twitter.com/BrockLAllen   •   Feb 25
    Hey @aaronpk, can you explain this help article? It makes no sense to me. TIA

    https://support.okta.com/help/s/article/Browser-requests-to-the-token-endpoint-must-use-Proof-Key-for-Code-Exchange?language=en_US
    Aaron Parecki
    Oh yeah, I remember this one. I don't remember if this is still current behavior, but basically Okta is tying to prevent browsers from using anything other than the authorization code PKCE flow. It does that by detecting the Origin header which isn't sent by server apps.
    Portland, Oregon • 34°F
    Thu, Feb 24, 2022 6:50pm -08:00
    1 like 11 replies
    • Hirsch Singhal
    • Aaron Parecki twitter.com/aaronpk
      I totally agree, this error message makes no sense. I'm going to file a ticket tomorrow internally to fix it.
      Fri, Feb 25, 2022 3:18am +00:00 (via brid.gy)
    • Brock Allen twitter.com/BrockLAllen
      Arguably, tho, PKCE and putting a client secret into a SPA are orthogonal. It's conflating two things that work differently. Poor devs can't understand those differences. The error should be "we see you sent a client secret and an Origin header. is your client a SPA?"
      Fri, Feb 25, 2022 3:10am +00:00 (via brid.gy)
    • Aaron Parecki twitter.com/aaronpk
      yep you guessed it! misleading error message but that's exactly what was going on.
      Fri, Feb 25, 2022 3:07am +00:00 (via brid.gy)
    • Aaron Parecki twitter.com/aaronpk
      Yep, I confirmed my suspicion. Misleading error message. Will post details on the github thread.
      Fri, Feb 25, 2022 3:03am +00:00 (via brid.gy)
    • Brock Allen twitter.com/BrockLAllen
      Ah, good question -- I didn't notice that. I bet their client config is misconfigured then.
      Fri, Feb 25, 2022 3:00am +00:00 (via brid.gy)
    • Aaron Parecki twitter.com/aaronpk
      why does that example have the browser sending a client secret in the request? That seems odd. Happy to continue this over on the github thread.
      Fri, Feb 25, 2022 2:58am +00:00 (via brid.gy)
    • Brock Allen twitter.com/BrockLAllen
      Well, using PKCE for all code-flow scenarios fixes that :)
      Fri, Feb 25, 2022 2:55am +00:00 (via brid.gy)
    • Brock Allen twitter.com/BrockLAllen
      People are asking, when using standards compliant OIDC client libraries: github.com/authts/oidc-cl…
      Fri, Feb 25, 2022 2:55am +00:00 (via brid.gy)
    • Hirsch Singhal twitter.com/hpsin_
      Helps prevent devs from putting their client secrets in a web page to perform the client creds flow, yep. When AAD enabled this, we definitely got a couple support calls on that. This was how we ratcheted forward PKCE use from suggested to required as well.
      Fri, Feb 25, 2022 2:55am +00:00 (via brid.gy)
    • Aaron Parecki twitter.com/aaronpk
      Yeah that's right. I agree it's super confusing and has caused some tricky issues before. It may be different in the new platform but I'd have to double check
      Fri, Feb 25, 2022 2:53am +00:00 (via brid.gy)
    • Brock Allen twitter.com/BrockLAllen
      It's confusing as hell, and I'm confused by the implementation -- on the token endpoint if Origin is present, you require that the authz used PKCE? That's about the only valid approach to that I can imagine.
      Fri, Feb 25, 2022 2:53am +00:00 (via brid.gy)
Posted in /replies using indigenous.abode.pub/ios

Hi, I'm Aaron Parecki, Director of Identity Standards at Okta, and co-founder of IndieWebCamp. I maintain oauth.net, write and consult about OAuth, and participate in the OAuth Working Group at the IETF. I also help people learn about video production and livestreaming. (detailed bio)

I've been tracking my location since 2008 and I wrote 100 songs in 100 days. I've spoken at conferences around the world about owning your data, OAuth, quantified self, and explained why R is a vowel. Read more.

  • Director of Identity Standards at Okta
  • IndieWebCamp Founder
  • OAuth WG Editor
  • OpenID Board Member

  • 🎥 YouTube Tutorials and Reviews
  • 🏠 We're building a triplex!
  • ⭐️ Life Stack
  • ⚙️ Home Automation
  • All
  • Articles
  • Bookmarks
  • Notes
  • Photos
  • Replies
  • Reviews
  • Trips
  • Videos
  • Contact
© 1999-2025 by Aaron Parecki. Powered by p3k. This site supports Webmention.
Except where otherwise noted, text content on this site is licensed under a Creative Commons Attribution 3.0 License.
IndieWebCamp Microformats Webmention W3C HTML5 Creative Commons
WeChat ID
aaronpk_tv