git.iko.soy/typeable/oauth2-proxy
on master help sign in
Release v7.5.1 (#2227)

* Update changelog for v7.5.1 release * Create versioned docs for release v7.5.x Created using: yarn run docusaurus docs:version 7.5.x --------- Co-authored-by: Joel Speed <Joel.speed@hotmail.co.uk>

commitef9595799037938879e61e3c00a354dd84cddf24 authorKoen van Zuijlen <8818390+kvanzuijlen@users.noreply.github.com> dateFri 22 Sep 2023, 15:29 (3 years ago) parent13af1b4
3 files changed+51−2
CHANGELOG.md+22 docs/versioned_docs/version-7.5.x/configuration/sessions.md+28−1 docs/versioned_docs/version-7.5.x/installation.md+1−1
CHANGELOG.md+22
@@ -6,11 +6,31 @@
66
77## Breaking Changes
88
9+## Changes since v7.5.1
10+
11+# V7.5.1
12+
13+## Release Highlights
14+- 🐛 Several bugs have been squashed
15+- 🕵️‍♀️ Vulnerabilities have been addressed
16+- 📖Improved docs
17+
18+## Important Notes
19+
20+- This release includes fixes for a number of CVEs, we recommend to upgrade as soon as possible.
21+- The environment variable OAUTH2_PROXY_GOOGLE_GROUP has been deprecated in favor of OAUTH2_PROXY_GOOGLE_GROUPS. Next major release
22+will remove this option. This change makes sure that the configuration options follow the documentation.
23+
24+## Breaking Changes
25+
26+N/A
27+
928## Changes since v7.5.0
1029- [#2220](https://github.com/oauth2-proxy/oauth2-proxy/pull/2220) Added binary and docker release platforms (@kvanzuijlen)
1130- [#2221](https://github.com/oauth2-proxy/oauth2-proxy/pull/2221) Backwards compatible fix for wrong environment variable name (OAUTH2_PROXY_GOOGLE_GROUPS) (@kvanzuijlen)
1231- [#1989](https://github.com/oauth2-proxy/oauth2-proxy/pull/1989) Fix default scope for keycloak-oidc provider (@tuunit)
1332- [#2217](https://github.com/oauth2-proxy/oauth2-proxy/pull/2217) Upgrade alpine to version 3.18 (@polarctos)
33+- [#2208](https://github.com/oauth2-proxy/oauth2-proxy/pull/2208) Improved session documentation (@lathspell)
1434- [#2229](https://github.com/oauth2-proxy/oauth2-proxy/pull/2229) bugfix: default scopes for OIDCProvider based providers (@tuunit)
1535- [#2194](https://github.com/oauth2-proxy/oauth2-proxy/pull/2194) Fix Gitea token validation (@tuunit)
1636
@@ -26,6 +46,8 @@
2646## Important Notes
2747
2848- This release includes fixes for a number of CVEs, we recommend to upgrade as soon as possible.
49+- This release was pushed with the wrong Docker platform type for arm64/armv8. Use v7.5.1 instead.
50+- This release introduced a bug with the Keycloak OIDC provider causing no scopes to be send along with the request. Use v7.5.1 instead.
2951
3052## Breaking Changes
3153
docs/versioned_docs/version-7.5.x/configuration/sessions.md+28−1
@@ -52,6 +52,33 @@ in redis via the `SETEX` command.
5252Encrypting every session uniquely protects the refresh/access/id tokens stored in the session from
5353disclosure.
5454
55+Additionally the browser only has to send a short Cookie with every request and not the whole JWT, which can get quite big.
56+
57+Two settings are used to configure the OAuth2 Proxy cookie lifetime:
58+
59+ --cookie-refresh duration refresh the cookie after this duration; 0 to disable
60+ --cookie-expire duration expire timeframe for cookie 168h0m0s
61+
62+The "cookie-expire" value should be equal to the lifetime of the Refresh-Token that is issued by the OAuth2 authorization server.
63+If it expires earlier and is deleted by the browser, OAuth2 Proxy cannot find the stored Refresh-Tokens in Redis and thus cannot start
64+the refresh flow to get new Access-Tokens. If it is longer, it might be that the old Refresh-Token will be found in Redis but has already
65+expired.
66+
67+The "cookie-refresh" value controls when OAuth2 Proxy tries to refresh an Access-Token. If it is set to "0", the
68+Access-Token will never be refreshed, even it is already expired and there would be a valid Refresh-Token in the
69+available. If set, OAuth2 Proxy will refresh the Access-Token after this many seconds even if it is still valid.
70+Of course, it will also be refreshed after it has expired, as long as a Refresh Token is available.
71+
72+Caveat: It can happen that the Access-Token is valid for e.g. "1m" and a request happens after exactly "59s".
73+It would pass OAuth2 Proxy and be forwarded to the backend but is just expired when the backend tries to validate
74+it. This is especially relevant if the backend uses the JWT to make requests to other backends.
75+For this reason, it's advised to set the cookie-refresh a couple of seconds less than the Access-Token lifespan.
76+
77+Recommended settings:
78+
79+* cookie\_refresh := Access-Token lifespan - 1m
80+* cookie\_expire := Refresh-Token lifespan (i.e. Keycloak's client\_session\_idle)
81+
5582#### Usage
5683
5784When using the redis store, specify `--session-store-type=redis` as well as the Redis connection URL, via
@@ -68,4 +95,4 @@ Note that flags `--redis-use-sentinel=true` and `--redis-use-cluster=true` are m
6895
6996Note, if Redis timeout option is set to non-zero, the `--redis-connection-idle-timeout`
7097must be less than [Redis timeout option](https://redis.io/docs/reference/clients/#client-timeouts). For example: if either redis.conf includes
71−`timeout 15` or using `CONFIG SET timeout 15` the `--redis-connection-idle-timeout` must be at least `--redis-connection-idle-timeout=14`
98+`timeout 15` or using `CONFIG SET timeout 15` the `--redis-connection-idle-timeout` must be at least `--redis-connection-idle-timeout=14`
docs/versioned_docs/version-7.5.x/installation.md+1−1
@@ -10,7 +10,7 @@ slug: /
1010
1111 b. Build with `$ go install github.com/oauth2-proxy/oauth2-proxy/v7@latest` which will put the binary in `$GOPATH/bin`
1212
13− c. Using the prebuilt docker image [quay.io/oauth2-proxy/oauth2-proxy](https://quay.io/oauth2-proxy/oauth2-proxy) (AMD64, ARMv6 and ARM64 tags available)
13+ c. Using the prebuilt docker image [quay.io/oauth2-proxy/oauth2-proxy](https://quay.io/oauth2-proxy/oauth2-proxy) (AMD64, PPC64LE, ARMv6, ARMv7, and ARM64 tags available)
1414
1515 d. Using a [Kubernetes manifest](https://github.com/oauth2-proxy/manifests) (Helm)
1616