-
-
Notifications
You must be signed in to change notification settings - Fork 178
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Compatibility with cookie-session #72
Comments
@patrick-m-m hey patrick, have you found a workaroound for this since last year? :) just run into the same issue |
I've encountered the same issue using this Passport strategy in conjunction with I've tried stripping out the passport-openidconnect/lib/strategy.js Line 415 in 52d6874
The function
Until this has been fixed this must be considered a severe security risk when used with a cookie-based session store. |
I agree, that this is a dangerous situation when you implement this by just sending down cookies to the client.
The docs should warn you about sensitive information leakage, that the client secret and client id will be passed into the storage implementation by its second arg (meta)
But, If you write your own implementation, you are responsible for security issues. This library is very secure, if you don't implement your own store and continue to use the default session store. There are two options currently available to make it stateless via an HTTP Cookie approach:
|
I'm looking at using this with a GraphQL service that we're hoping can remain completely stateless. We included the cookie-session package to put the authenticated OIDC tokens into the client cookies. There is an unfortunate interaction where it seems this passport strategy is setting some secrets in the session.
Why does the strategy need to store so much in the session? All of the state keys except
params.scope
,handle
,params.state
(which are the same) are passed in when I constructnew Strategy()
.Since sending the secret with every client cookie is not an option, should that be interpreted as a clear indication that the passport-openidconnect requires a server-side session store? If so, could this be documented somewhere?
The text was updated successfully, but these errors were encountered: