## Description Adding support for `/sign_out_all_sessions`. /sign_out_all_sessions endpoint will remove the current session and make a POST request to IAM, configured via `OAUTH2_PROXY_BACKEND_LOGOUT_ALL_SESSIONS_URL` env, to invalidate all the tokens and sessions. This will not invalidate other user sessions. Once the tokens and sessions are invalidated, after the refresh token period defined on the `OAUTH2_PROXY_COOKIE_REFRESH` env, OAuth will fail to refresh the access token and clear that session. related to: - https://github.com/philips-internal/pics-foundation-envoy/pull/105 - https://github.com/philips-internal/pics/pull/3006 [AB#1579962](https://tfsemea1.ta.philips.com/tfs/TPC_Region11/0839b845-d626-4499-94ae-563a86a88d0a/_workitems/edit/1579962) ## Motivation and Context Possibility for signing out on all devices. ## How Has This Been Tested? Integrated locally with PICS by running binary. Docs [here](https://github.com/philips-internal/pics/blob/main/src/services/Oauth2Proxy/docs/development.md). ## Checklist: - [x] Add OAUTH2_PROXY_BACKEND_LOGOUT_ALL_SESSIONS_URL env - [x] Add /sign_out_all_sessions endpoint - [x] Remove other user sessions when tokens are invalid |
||
|---|---|---|
| .devcontainer | ||
| .github | ||
| .vscode | ||
| build | ||
| contrib | ||
| deploy | ||
| docs | ||
| helm/hsd-oauth-proxy | ||
| pkg | ||
| providers | ||
| static | ||
| testdata | ||
| tools | ||
| .bumpversion.cfg | ||
| .dockerignore | ||
| .editorconfig | ||
| .gitignore | ||
| .golangci.yml | ||
| .pre-commit-config.yaml | ||
| CHANGELOG.md | ||
| CODE_OF_CONDUCT.md | ||
| CONTRIBUTING.md | ||
| Directory.Build.props | ||
| Dockerfile | ||
| LICENSE | ||
| MAINTAINERS | ||
| Makefile | ||
| README.md | ||
| RELEASE.md | ||
| SECURITY.md | ||
| VERSION | ||
| dist.sh | ||
| go.mod | ||
| go.sum | ||
| main.go | ||
| main_suite_test.go | ||
| main_test.go | ||
| oauthproxy.go | ||
| oauthproxy_test.go | ||
| pics_oauthproxy.go | ||
| pics_oauthproxy_test.go | ||
| sonar-project.properties | ||
| validator.go | ||
| validator_test.go | ||
README.md
A reverse proxy and static file server that provides authentication using Providers (Google, Keycloak, GitHub and others) to validate accounts by email, domain or group.
Note: This repository was forked from bitly/OAuth2_Proxy on 27/11/2018. Versions v3.0.0 and up are from this fork and will have diverged from any changes in the original fork. A list of changes can be seen in the CHANGELOG.
Note: This project was formerly hosted as pusher/oauth2_proxy but has been renamed as of 29/03/2020 to oauth2-proxy/oauth2-proxy.
Going forward, all images shall be available at quay.io/oauth2-proxy/oauth2-proxy and binaries will be named oauth2-proxy.
Installation
-
Choose how to deploy:
a. Using a Prebuilt Binary (current release is
v7.6.0)b. Using Go to install the latest release
$ go install github.com/oauth2-proxy/oauth2-proxy/v7@latestThis will install the binary into
$GOPATH/bin. Make sure you include$GOPATHin your$PATH. Otherwise your system won't find binaries installed viago installc. Using a Prebuilt Docker Image (AMD64, PPC64LE, S390x, ARMv6, ARMv7, and ARM64 available)
d. Using a Pre-Release Nightly Docker Image (AMD64, PPC64LE, S390x, ARMv6, ARMv7, and ARM64 available)
e. Using the official Kubernetes manifest (Helm)
Prebuilt binaries can be validated by extracting the file and verifying it against the
sha256sum.txtchecksum file provided for each release starting with versionv3.0.0.sha256sum -c sha256sum.txt 2>&1 | grep OK oauth2-proxy-x.y.z.linux-amd64: OK -
Select a Provider and Register an OAuth Application with a Provider
-
Configure OAuth2 Proxy using config file, command line options, or environment variables
-
Configure SSL or Deploy behind a SSL endpoint (example provided for Nginx)
Security
If you are running a version older than v6.0.0 we strongly recommend you please update to a current version. See open redirect vulnerability for details.
Docs
Read the docs on our Docs site.
Images
From v7.6.0 and up the base image has been changed from Alpine to GoogleContainerTools/distroless.
This image comes with even fewer installed dependencies and thus should improve security. The image therefore is also slightly smaller than Alpine.
For debugging purposes (and those who really need it (i.e. armv6)) we still provide images based on Alpine. The tags of these images are suffixed with -alpine.
Since 2023-11-18 we provide nightly images. These images are build and pushed nightly to quay.io/oauth2-proxy/oauth2-proxy-nightly from master.
These images should be considered alpha and therefore should not be used for production purposes unless you know what you're doing.
Getting Involved
If you would like to reach out to the maintainers, come talk to us in the #oauth2-proxy channel in the Gophers slack.
Contributing
Please see our Contributing guidelines. For releasing see our release creation guide.
