git.iko.soy/typeable/oauth2-proxy
on master help sign in
feat: differentiate between "no available key" and error for redis sessions (#3093)

* add some better error handling * add changelog entry Signed-off-by: Jan Larwig <jan@larwig.com> --------- Signed-off-by: Jan Larwig <jan@larwig.com> Co-authored-by: Jan Larwig <jan@larwig.com>

commitf4b33b64bd66ad28e9b0d63bea51837b83c00ca1 authornobletrout <nobletrout@gmail.com> dateThu 24 Jul 2025, 02:33 (1 year ago) parente75a258
2 files changed+6−1
CHANGELOG.md+2 pkg/sessions/redis/redis_store.go+4−1
CHANGELOG.md+2
@@ -16,6 +16,8 @@
1616- [#3104](https://github.com/oauth2-proxy/oauth2-proxy/pull/3104) feat(cookie): add feature support for cookie-secret-file (@sandy2008)
1717- [#3055](https://github.com/oauth2-proxy/oauth2-proxy/pull/3055) feat: support non-default authorization request response mode also for OIDC providers (@stieler-it)
1818- [#3138](https://github.com/oauth2-proxy/oauth2-proxy/pull/3138) feat: make google_groups argument optional when using google provider (@sourava01)
19+- [#3093](https://github.com/oauth2-proxy/oauth2-proxy/pull/3093) feat: differentiate between "no available key" and error for redis sessions (@nobletrout)
20+
1921
2022# V7.10.0
2123
pkg/sessions/redis/redis_store.go+4−1
@@ -49,9 +49,12 @@ func (store *SessionStore) Save(ctx context.Context, key string, value []byte, e
4949// cookie within the HTTP request object
5050func (store *SessionStore) Load(ctx context.Context, key string) ([]byte, error) {
5151 value, err := store.Client.Get(ctx, key)
52− if err != nil {
52+ if err == redis.Nil {
53+ return nil, fmt.Errorf("session does not exist")
54+ } else if err != nil {
5355 return nil, fmt.Errorf("error loading redis session: %v", err)
5456 }
57+
5558 return value, nil
5659}
5760