Karl Skewes
b57d7f77e1
Use ok naming convention for map presence check
2019-07-16 10:06:29 +12:00
Karl Skewes
289dfce28a
logger.go ExcludedPaths changed to slice of paths.
...
- `logger.go` convert slice of paths to map for quicker lookup
- `options.go` combines csv paths and pingpath into slice
2019-07-16 10:04:09 +12:00
Karl Skewes
08021429ea
formatting and extra test
...
Can probably slim down the `ExcludePath` tests.
2019-07-16 09:43:48 +12:00
Karl Skewes
c4f20fff3d
Add exclude logging path option
...
Useful for excluding /ping endpoint to reduce log volume.
This is somewhat more verbose than a simple bool to disable logging of
the `/ping` endpoint.
Perhaps better to add `-silence-ping-logging` bool flag to `options.go` and
pass in the `/ping` endpoint as part of `logger` declaration in `options.go`.
Could be extended into a slice of paths similar to go-gin's `SkipPaths`:
https://github.com/gin-gonic/gin/blob/master/logger.go#L46
2019-07-16 09:43:47 +12:00
Karl Skewes
ec97000169
Add silence ping logging flag
...
Add ability to silence logging of requests to /ping endpoint, reducing
log clutter
Pros:
- Don't have to change all handlers to set/not set silent ping logging
- Don't have to duplicate `loggingHandler` (this could be preferable yet)
Cons:
- Leaking oauth2proxy logic into `package logger`
- Defining default pingPath in two locations
Alternative:
- Add generic exclude path to `logger.go` and pass in `/ping`.
2019-07-16 09:42:24 +12:00
Joel Speed
6366690927
Fix gofmt for changed files
2019-06-15 11:34:00 +02:00
Joel Speed
fb9616160e
Move logger to pkg/logger
2019-06-15 11:33:58 +02:00
Joel Speed
d1ef14becc
Move cookie to pkg/encryption
2019-06-15 11:33:57 +02:00
Joel Speed
8027cc454e
Move api to pkg/requests
2019-06-08 07:40:43 +01:00
Joel Speed
4721da02f2
Ensure SessionStores can handle recieving cookies for the wrong implementation
...
(cherry picked from commit 131206cf41
)
2019-06-05 00:11:42 -07:00
Joel Speed
c1ae0ca807
Make sure the cookie exists before we clear the session in redis
...
(cherry picked from commit 6d7f0ab57d
)
2019-06-05 00:11:42 -07:00
Joel Speed
22199fa417
Fix ticket retrieval with an invalid ticket
...
(cherry picked from commit 66bbf146ec
)
2019-06-05 00:11:42 -07:00
Joel Speed
3155ada287
Ensure sessions are refreshable in redis session store
...
(cherry picked from commit 48edce3003
)
2019-06-05 00:11:42 -07:00
Joel Speed
2e2327af6c
Check SaveSession works when an existing session is present
...
(cherry picked from commit 9dc1a96d81
)
2019-06-05 00:11:42 -07:00
Joel Speed
518c1d3e8e
Add Redis sentinel compatibility
...
(cherry picked from commit ff36b61f8c
)
2019-06-05 00:11:42 -07:00
Joel Speed
4f5dbace9f
Refactor persistent tests with more Context
2019-06-05 00:10:51 -07:00
Joel Speed
7e7bfb5daf
Stop miniredis after each test
2019-06-05 00:10:51 -07:00
Joel Speed
bc3d75a2ed
Run persistent tests with multiple option groups
2019-06-05 00:10:51 -07:00
Joel Speed
42f14a41d9
Clean up persistent SessionStore tests
2019-06-05 00:10:51 -07:00
Joel Speed
a7693cc72a
Tranfser all cookies in tests
2019-06-05 00:10:51 -07:00
Joel Speed
93df7d9132
Remove spurious comment
2019-06-05 00:10:51 -07:00
Joel Speed
a6b8f7bde2
Rename expire -> expiration
2019-06-05 00:10:51 -07:00
Joel Speed
2f61e42c37
More obvious comment on CFB
2019-06-05 00:10:51 -07:00
Joel Speed
f435fa68ab
Make loadSessionFromString private
2019-06-05 00:10:51 -07:00
Joel Speed
130d03758d
Fix comments on Redis options
2019-06-05 00:10:51 -07:00
Joel Speed
b255ed56ef
Sign cookies in the Redis Session store
2019-06-05 00:10:51 -07:00
Joel Speed
2c566a5f5b
Use session CreatedAt for cookie timings
2019-06-05 00:10:51 -07:00
Joel Speed
296d989e58
Simplify redis store options
2019-06-05 00:10:51 -07:00
Brian Van Klaveren
42731f0617
Check cookie error and doc on cookie handling
2019-06-05 00:10:51 -07:00
Brian Van Klaveren
b1bd3280db
Add support for a redis session store
2019-06-05 00:10:51 -07:00
Brian Van Klaveren
e881612ea6
Fix session_state type
2019-06-05 00:10:51 -07:00
Joel Speed
093f9da881
Move cipher creation to options and away from oauth2_proxy.go
2019-05-20 11:26:13 +02:00
Joel Speed
76bd23738f
Simplify cookie creation form *options.CookieOptions
2019-05-20 11:26:12 +02:00
Joel Speed
c61f3a1c65
Use SessionStore for session in proxy
2019-05-20 11:26:10 +02:00
Joel Speed
34cbe0497c
Add CreatedAt to SessionState
2019-05-20 11:26:09 +02:00
Joel Speed
fbee5eae16
Initialise SessionStore in Options
2019-05-20 11:26:04 +02:00
Joel Speed
1d29a0d094
Drop Session suffix from SessionStore methods
2019-05-18 13:10:12 +02:00
Joel Speed
65302ed34b
Rename RunCookieTests to RunSessionTests
2019-05-18 13:10:09 +02:00
Joel Speed
02e80b7aab
Check all information is encoded when cookie-secret set
2019-05-18 13:10:08 +02:00
Joel Speed
553cf89579
Add tests for saving and loading a session in SessionStore
2019-05-18 13:10:08 +02:00
Joel Speed
1c2ee715b3
Refactor session_store_test.go
2019-05-18 13:10:07 +02:00
Joel Speed
b965f25c10
Implement SaveSession in Cookie SessionStore
2019-05-18 13:10:06 +02:00
Joel Speed
15a2cf8b9e
Implement ClearSession for cookie SessionStore
2019-05-18 13:10:05 +02:00
Joel Speed
8b3a3853eb
Implement LoadSession in Cookie SessionStore
2019-05-18 13:10:04 +02:00
Joel Speed
0204054005
Add tests to check cookies set by SessionStores
2019-05-18 13:10:02 +02:00
Joel Speed
6d162a1d78
Define session options and cookie session store types
2019-05-18 13:10:01 +02:00
Joel Speed
530acff38c
Add SessionStore interface
2019-05-18 13:10:00 +02:00
Joel Speed
fd6655411b
Move cookie configuration to separate package
2019-05-18 13:09:59 +02:00
Joel Speed
2ab8a7d95d
Move SessionState to its own package
2019-05-18 13:09:56 +02:00