DEV Community

loading...

Discussion on: How to securely store JWT tokens.

Collapse
gkoniaris profile image
George Koniaris Author

Can you give a specific example of how you authenticate (the login process) and then how the other APIS validate that the user is authenticated?

Collapse
lt0mm profile image
Tom

I was some time ago already so I don't remember all details to be honest, but the gist is frontend redirected user to authentication server (we used keycloak) then we stored token in the local storage and we reissued it like each minute (or something like that) as I remember. Backend used keycloak adapter which again made request to keycloak server to validate the token.

Thread Thread
gkoniaris profile image
George Koniaris Author

OK, so I guess that backend was also making a request to keycloak (through redirect) and was then returning the token to the user. If that's the case then you just have to set the token in a Secure HttpOnly Strict cookie instead of just returning it, for example as JSON and saving it to the local storage.

Thread Thread
lt0mm profile image
Tom • Edited

hm not exactly authentication happened exactly on keycloak server and then backend made request to keycloak just to validate the token, so user received token from keycloak server and there for I suppose just cookies solution would not work. As I understand that solution could be migrated from local storate to cookies only if we moved keycloak to some subdomain and used subdomain cookies sharing. But definitely I can confuse something

Thread Thread
gkoniaris profile image
George Koniaris Author

If it follows the oauth2 flow, you could redirect to the backend of your web application instead of the browser, so then the backend would set the cookie and would redirect back to the frontend page.

Thread Thread
lt0mm profile image
Tom

yeah it would work I think thank you for the answer!!