0

I am looking for a "best practises" approach for creating SPAs protected using OIDC + PKCE.

Most of our applications are hosted on two independent web servers with a load balancer routing requests to them in a round-robin configuration. Our SPAs are almost always accompanied by an API which is also protected using OIDC. That API is also hosted on the same two independent web servers with a load balancer routing request to them in a round-robin configuration. OIDC is using PKCE, and our IDaaS supports refresh token rotation.

I've come across the react-oidc-context SDK (click here) and noticed that it stores the access_token and refresh_token together in the browser session storage. I've read elsewhere on the web that the best practice is to store the access_token in a closure variable or service worker and the refresh_token in the localStorage.

Question #1: Are there any security concerns with keeping the access_token together with the refresh_token in the session storage?

Question #2: I've read and am familiar with recommendations to keep the access_token in an HTTP-only cookie on the server. Does it matter that the API is hosted on two independent web servers? Meaning that if the HTTP-only cookie is issued by Web Server #1, will Web Server #2 have access to the access_token inside of the HTTP-only cookie?

0

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.