7a8fb58ad1
Fix an unsupported protocol scheme error when validating tokens by ensuring that the ValidateURL generates a non-empty string. The Azure provider doesn't define any ValidateURL and therefore uses the default value of `url.Parse("")` which is not `nil`. The following log summary shows the issue: 2019/06/14 12:26:04 oauthproxy.go:799: 10.244.1.3:34112 ("10.244.1.1") refreshing 16h26m29s old session cookie for Session{email:jonas.fonseca@example.com user:jonas.fonseca token:true} (refresh after 1h0m0s) 2019/06/14 12:26:04 internal_util.go:60: GET ?access_token=eyJ0... 2019/06/14 12:26:04 internal_util.go:61: token validation request failed: Get ?access_token=eyJ0...: unsupported protocol scheme "" 2019/06/14 12:26:04 oauthproxy.go:822: 10.244.1.3:34112 ("10.244.1.1") removing session. error validating Session{email:jonas.fonseca@example.com user:jonas.fonseca token:true} |
||
---|---|---|
.github | ||
api | ||
contrib | ||
cookie | ||
docs | ||
logger | ||
pkg | ||
providers | ||
.dockerignore | ||
.gitignore | ||
.travis.yml | ||
CHANGELOG.md | ||
configure | ||
CONTRIBUTING.md | ||
dist.sh | ||
Dockerfile | ||
Dockerfile.arm64 | ||
Dockerfile.armv6 | ||
env_options_test.go | ||
env_options.go | ||
Gopkg.lock | ||
Gopkg.toml | ||
htpasswd_test.go | ||
htpasswd.go | ||
http_test.go | ||
http.go | ||
LICENSE | ||
logging_handler_test.go | ||
logging_handler.go | ||
main.go | ||
Makefile | ||
oauthproxy_test.go | ||
oauthproxy.go | ||
options_test.go | ||
options.go | ||
README.md | ||
string_array.go | ||
templates_test.go | ||
templates.go | ||
validator_test.go | ||
validator_watcher_copy_test.go | ||
validator_watcher_test.go | ||
validator.go | ||
version.go | ||
watcher_unsupported.go | ||
watcher.go |
oauth2_proxy
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.
Installation
-
Choose how to deploy:
a. Download Prebuilt Binary (current release is
v3.2.0
)b. Build with
$ go get github.com/pusher/oauth2_proxy
which will put the binary in$GOROOT/bin
c. Using the prebuilt docker image quay.io/pusher/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-3.2.0.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)
Docs
Read the docs on our Docs site.
Contributing
Please see our Contributing guidelines.