7d910c0ae8
* Check Google group membership with hasMember and get. This PR is an enhancement built on https://github.com/pusher/oauth2_proxy/pull/160. That PR reduces the number of calls to the Google Admin API and simplifies the code by using the hasMember method. It also supports checking membership in nested groups. However, the above message doesn't handle members who are not a part of the domain. The hasMember API returns a 400 for that case. As a fallback, when the API returns a 400, this change will try using the `get` API which works as expected for members who aren't a part of the domain. Supporting members who belong to the Google group but aren't part of the domain is a requested feature from https://github.com/pusher/oauth2_proxy/issues/95. https://developers.google.com/admin-sdk/directory/v1/reference/members/get Note that nested members who are not a part of the domain will not be correctly detected with this change. * Update CHANGELOG. * Fix incorrect JSON and stop escaping strings. * Add comments for each scenario. |
||
---|---|---|
.github | ||
contrib | ||
docs | ||
pkg | ||
providers | ||
.dockerignore | ||
.gitignore | ||
.golangci.yml | ||
.travis.yml | ||
CHANGELOG.md | ||
configure | ||
CONTRIBUTING.md | ||
dist.sh | ||
Dockerfile | ||
Dockerfile.arm64 | ||
Dockerfile.armv6 | ||
env_options_test.go | ||
env_options.go | ||
go.mod | ||
go.sum | ||
htpasswd_test.go | ||
htpasswd.go | ||
http_test.go | ||
http.go | ||
LICENSE | ||
logging_handler_test.go | ||
logging_handler.go | ||
main.go | ||
MAINTAINERS | ||
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.