A reverse proxy that provides authentication with Google, Azure, OpenID Connect and many more identity providers.
Go to file
Leandro Lafin f1c58097d3
Improved dev environment
2024-07-15 09:00:36 -03:00
.devcontainer Improved dev environment 2024-07-15 09:00:36 -03:00
.github Don't run the nightly build and push job in forked repositories 2024-07-12 14:36:56 -03:00
.vscode Improved dev environment 2024-07-15 09:00:36 -03:00
build test 2023-03-29 10:14:30 +05:30
contrib NGINX return 403 for sign_in (#2322) 2024-07-12 15:22:28 -03:00
deploy removing Prometheus 2022-05-14 12:32:42 +05:30
docs Add support for unix socket as upstream 2024-07-12 11:30:17 -03:00
helm/hsd-oauth-proxy reviewcommentsfix 2023-03-21 14:15:20 +05:30
pkg Improved dev environment 2024-07-15 09:00:36 -03:00
providers Feature/add option to skip loading claims from profile url 2024-07-12 15:57:12 -03:00
static Embed static stylesheets and dependencies 2024-07-11 14:39:38 -03:00
testdata 100% passing tests 2023-10-02 10:27:46 -03:00
tools Generate reference page in configuration 2021-01-18 09:57:44 +00:00
.bumpversion.cfg Bump version 1.0.28 2023-03-30 04:57:02 +00:00
.dockerignore Merging 7.4.0 2023-09-01 08:09:44 -03:00
.editorconfig Adding editor config 2023-10-02 11:31:50 -03:00
.gitignore Improved dev environment 2024-07-15 09:00:36 -03:00
.golangci.yml Updated linters 2024-07-12 10:30:16 -03:00
.pre-commit-config.yaml Improved dev environment 2024-07-15 09:00:36 -03:00
CHANGELOG.md Add ability to configure username for Redis cluster connections 2024-07-15 08:43:15 -03:00
CONTRIBUTING.md Drop configure script in favour of native Makefile env and checks (#515) 2020-05-09 16:07:46 +01:00
Directory.Build.props adding .proj files 2022-05-05 10:50:16 +05:30
Dockerfile Remove nsswitch DNS resolution workaround 2024-07-12 15:30:38 -03:00
LICENSE add MIT license for google_auth_proxy 2014-06-09 16:25:26 -04:00
MAINTAINERS Add NickMeves to MAINTAINERS 2021-01-10 10:56:01 -08:00
Makefile enhancement: Change base image from alpine to distroless 2024-07-12 15:14:14 -03:00
README.md enhancement: Change base image from alpine to distroless 2024-07-12 15:14:14 -03:00
RELEASE.md Migrate to oauth2-proxy/oauth2-proxy 2020-03-29 15:40:10 +01:00
SECURITY.md Add Security Policy 2021-01-16 19:47:47 +00:00
VERSION Bump version 1.0.28 2023-03-30 04:57:02 +00:00
dist.sh chore: Create sha256sum for tar instead of binary 2024-07-12 15:25:30 -03:00
go.mod Feature - Add env variable support for alpha struct 2024-07-12 15:29:38 -03:00
go.sum Feature - Add env variable support for alpha struct 2024-07-12 15:29:38 -03:00
main.go Merging 7.4.0 2023-09-01 08:09:44 -03:00
main_suite_test.go Ensure errors in tests are logged to the GinkgoWriter 2021-02-10 19:50:04 +00:00
main_test.go fix unit tests 2024-02-01 11:55:09 -03:00
oauthproxy.go Log error details when failed loading CSRF cookie 2024-07-12 15:26:35 -03:00
oauthproxy_test.go Add possibility to encode the state param as UrlEncodedBase64 2024-07-12 15:20:57 -03:00
sonar-project.properties testing sonar 2023-02-17 13:01:04 +05:30
validator.go Merging 7.4.0 2023-09-01 08:09:44 -03:00
validator_test.go Merging 7.4.0 2023-09-01 08:09:44 -03:00
version.go Introduce Makefile 2019-01-04 10:58:30 +00:00

README.md

OAuth2 Proxy

Continuous Integration Go Report Card GoDoc MIT licensed Maintainability Test Coverage

A reverse proxy and static file server that provides authentication using Providers (Google, Keycloak, GitHub and others)

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.

Sign In Page

Installation

  1. Choose how to deploy:

    a. Using a Prebuilt Binary (current release is v7.5.1)

    b. Using Go to install the latest release

    $ go install github.com/oauth2-proxy/oauth2-proxy/v7@latest
    # which will put the binary in `$GOROOT/bin`
    

    c. Using a Prebuilt Docker Image (AMD64, PPC64LE, ARMv6, ARMv7, and ARM64 available)

    d. Using a Pre-Release Nightly Docker Image (AMD64, PPC64LE, 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.txt checksum file provided for each release starting with version v3.0.0.

    sha256sum -c sha256sum.txt 2>&1 | grep OK
    oauth2-proxy-x.y.z.linux-amd64: OK
    
  2. Select a Provider and Register an OAuth Application with a Provider

  3. Configure OAuth2 Proxy using config file, command line options, or environment variables

  4. 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. OAuth2 Proxy Architecture

Docs

Read the docs on our Docs site.

OAuth2 Proxy Architecture

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.

OAuth Proxy Cookie can be configured as session cookie by setting cookie expire time (--cookie-expire) as 0.

This can also be set via environment variable:

  • OAUTH2_PROXY_COOKIE_EXPIRE = 0

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.