Go to file
yanasega 42475c28f7
Multiple providers in alpha config (#947)
* Initial commit of multiple provider logic:
1. Created new provider options.
2. Created legacy provider options and conversion options.
3. Added Providers to alpha Options.
4. Started Validation migration of multiple providers
5. Tests.

* fixed lint issues

* additional lint fixes

* Nits and alterations based on CR: manliy splitting large providers validation function and adding comments to provider options

* fixed typo

* removed weird : file

* small CR changes

* Removed GoogleGroups validation due to new allowed-groups (including tests). Added line in CHANGELOG

* Update pkg/apis/options/providers.go

Co-authored-by: Joel Speed <Joel.speed@hotmail.co.uk>

* Update pkg/apis/options/providers.go

Co-authored-by: Joel Speed <Joel.speed@hotmail.co.uk>

* Update pkg/apis/options/providers.go

Co-authored-by: Nick Meves <nick.meves@greenhouse.io>

* Initial commit of multiple provider logic:
1. Created new provider options.
2. Created legacy provider options and conversion options.
3. Added Providers to alpha Options.
4. Started Validation migration of multiple providers
5. Tests.

* fixed lint issues

* additional lint fixes

* Nits and alterations based on CR: manliy splitting large providers validation function and adding comments to provider options

* small CR changes

* auto generates alpha_config.md

* rebase (mainly service alpha options related conflicts)

* removed :

* Nits and alterations based on CR: manliy splitting large providers validation function and adding comments to provider options

* small CR changes

* Removed GoogleGroups validation due to new allowed-groups (including tests). Added line in CHANGELOG

* "cntd. rebase"

* ran make generate again

* last conflicts

* removed duplicate client id validation

* 1. Removed provider prefixes
2. altered optionsWithNilProvider logic
3. altered default provider logic
4. moved change in CHANELOG to 7.0.0

* fixed TestGoogleGroupOptions test

* ran make generate

* moved CHANGLOG line to 7.1.1

* moved changelog comment to 7.1.2 (additional rebase)

Co-authored-by: Yana Segal <yana.segal@nielsen.com>
Co-authored-by: Joel Speed <Joel.speed@hotmail.co.uk>
Co-authored-by: Nick Meves <nick.meves@greenhouse.io>
2021-04-03 17:06:30 +01:00
.github Don't download dependencies using go mod 2021-02-19 11:31:00 +00:00
contrib Multiple providers in alpha config (#947) 2021-04-03 17:06:30 +01:00
docs Multiple providers in alpha config (#947) 2021-04-03 17:06:30 +01:00
pkg Multiple providers in alpha config (#947) 2021-04-03 17:06:30 +01:00
providers Fix GitLab CVE test case 2021-03-25 10:29:17 -07:00
testdata Rename test directory to testdata 2020-10-06 21:37:25 +09:00
tools Generate reference page in configuration 2021-01-18 09:57:44 +00:00
.dockerignore Reduce docker context to improve build times 2020-07-07 20:51:43 +01:00
.gitignore Set up code coverage within Travis for Code Climate (#533) 2020-05-10 07:29:37 +01:00
.golangci.yml Skip gosec linting on tests 2020-08-09 07:55:41 -07:00
CHANGELOG.md Multiple providers in alpha config (#947) 2021-04-03 17:06:30 +01:00
CONTRIBUTING.md Drop configure script in favour of native Makefile env and checks (#515) 2020-05-09 16:07:46 +01:00
dist.sh Update release process to use makefile go version check (#1027) 2021-02-06 15:19:33 -08:00
Dockerfile Minor change to the Dockerfile to improve build speed (#1139) 2021-03-29 19:08:40 +01:00
Dockerfile.arm64 Minor change to the Dockerfile to improve build speed (#1139) 2021-03-29 19:08:40 +01:00
Dockerfile.armv6 Minor change to the Dockerfile to improve build speed (#1139) 2021-03-29 19:08:40 +01:00
go.mod Request ID Logging (#1087) 2021-03-21 18:20:57 +00:00
go.sum Multiple providers in alpha config (#947) 2021-04-03 17:06:30 +01:00
LICENSE add MIT license for google_auth_proxy 2014-06-09 16:25:26 -04: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 Multiple providers in alpha config (#947) 2021-04-03 17:06:30 +01:00
main.go Integrate new server implementation into main OAuth2 Proxy 2021-03-07 11:49:11 +00:00
MAINTAINERS Add NickMeves to MAINTAINERS 2021-01-10 10:56:01 -08:00
Makefile Update release process to use makefile go version check (#1027) 2021-02-06 15:19:33 -08:00
nsswitch.conf Add nsswitch.conf to Docker image (#400) 2020-02-23 18:16:18 +00:00
oauthproxy_test.go Multiple providers in alpha config (#947) 2021-04-03 17:06:30 +01:00
oauthproxy.go Multiple providers in alpha config (#947) 2021-04-03 17:06:30 +01:00
README.md Update changelog for v7.1.0 release 2021-03-25 17:21:08 +00: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
validator_test.go remove unnecessary validator tests (#288) 2019-10-18 08:49:33 -07:00
validator.go Fix import path for v7 (#800) 2020-09-29 17:44:42 +01:00
version.go Introduce Makefile 2019-01-04 10:58:30 +00:00
watcher_unsupported.go Fix import path for v7 (#800) 2020-09-29 17:44:42 +01:00
watcher.go Fix import path for v7 (#800) 2020-09-29 17:44:42 +01:00

OAuth2 Proxy

Build Status Go Report Card GoDoc MIT licensed Maintainability Test Coverage

A reverse proxy and static file server that provides authentication using Providers (Google, 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.

Sign In Page

Installation

  1. Choose how to deploy:

    a. Download Prebuilt Binary (current release is v7.1.0)

    b. Build with $ go get github.com/oauth2-proxy/oauth2-proxy which will put the binary in $GOROOT/bin

    c. Using the prebuilt docker image quay.io/oauth2-proxy/oauth2-proxy (AMD64, ARMv6 and ARM64 tags available)

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
  1. Select a Provider and Register an OAuth Application with a Provider
  2. Configure OAuth2 Proxy using config file, command line options, or environment variables
  3. 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 vulnverability for details.

Docs

Read the docs on our Docs site.

OAuth2 Proxy Architecture

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.