feat(openidc): support redis for session storage#12986
Conversation
Signed-off-by: Abhishek Choudhary <[email protected]>
Signed-off-by: Abhishek Choudhary <[email protected]>
Signed-off-by: Abhishek Choudhary <[email protected]>
Signed-off-by: Abhishek Choudhary <[email protected]>
Signed-off-by: Abhishek Choudhary <[email protected]>
Co-authored-by: Nic <[email protected]>
8ce8012 to
e214d67
Compare
bzp2010
left a comment
There was a problem hiding this comment.
This is a great improvement.
The following content pertains to the OpenID Connect plugin rather than this PR.
However, in my opinion, the primary purpose of an API gateway is API proxying, handling token verification during this process, rather than acting as some kind of identity proxy.
For token verification, this is stateless. We don't need to manage sessions; verifying each request individually suffices.
The web mode (bearer_only = false), however, requires us to handle session caching in the authorization_code flow. This imposes additional work—accepting codes, exchanging tokens, establishing and maintaining sessions—forcing the gateway to manage extra stateful work.
This introduces various long-tail error scenarios and makes debugging difficult. If the sole purpose is identity proxy, perhaps create a new plugin to move the functionality or integrate with an external service to implement forward-auth.
There was a problem hiding this comment.
Essentially, this is just defining a new schema to expose features already supported by the library and add documentation?
There was a problem hiding this comment.
yes, the underlying lua-resty-session library is very feature rich and mature.
Description
Fixes #12495
Checklist