Fork https://github.com/pusher/oauth2_proxy.git Adding gitea provider
Go to file
Justin Palpant 7d910c0ae8 Check Google group membership with hasMember and get. (#224)
* 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.
2019-08-06 10:38:24 +01:00
.github Fix CODEOWNERS file 2019-07-24 09:21:08 +01:00
contrib Fix repo link 2019-06-01 05:36:28 +03:00
docs Merge pull request #178 from kskewes/pinglog 2019-07-19 11:30:31 +01:00
pkg Use ok naming convention for map presence check 2019-07-16 10:06:29 +12:00
providers Check Google group membership with hasMember and get. (#224) 2019-08-06 10:38:24 +01:00
.dockerignore Ignore Dockerfile.dev 2019-01-22 02:54:17 +09:00
.gitignore Add make targets for serving docs locally 2019-05-10 12:07:16 +01:00
.golangci.yml Remove TODO vetshadow as it's part of govet 2019-07-01 16:27:19 +01:00
.travis.yml Download modules in travis install step 2019-08-05 09:26:42 +01:00
CHANGELOG.md Check Google group membership with hasMember and get. (#224) 2019-08-06 10:38:24 +01:00
configure Merge branch 'master' into go-mod 2019-07-15 21:38:55 +01:00
CONTRIBUTING.md fix(docker): simplify build by copying ca-certificates.crt 2019-02-02 20:01:27 +13:00
dist.sh distribution: remove gpm references and update to use dep 2017-12-04 09:54:31 -05:00
Dockerfile Ensure gomodules are used when downloading 2019-07-15 21:49:38 +01:00
Dockerfile.arm64 Ensure gomodules are used when downloading 2019-07-15 21:49:38 +01:00
Dockerfile.armv6 Ensure gomodules are used when downloading 2019-07-15 21:49:38 +01:00
env_options_test.go Allow embedded structs in env_options 2019-05-18 13:09:58 +02:00
env_options.go Allow embedded structs in env_options 2019-05-18 13:09:58 +02:00
go.mod Switch from dep to go mod 2019-07-13 21:54:45 +01:00
go.sum Switch from dep to go mod 2019-07-13 21:54:45 +01:00
htpasswd_test.go Lint for non-comment linter errors 2018-11-29 14:26:41 +00:00
htpasswd.go Move logger to pkg/logger 2019-06-15 11:33:58 +02:00
http_test.go Fix lint errors 2019-06-23 21:39:13 +01:00
http.go Move logger to pkg/logger 2019-06-15 11:33:58 +02:00
LICENSE add MIT license for google_auth_proxy 2014-06-09 16:25:26 -04:00
logging_handler_test.go logger.go ExcludedPaths changed to slice of paths. 2019-07-16 10:04:09 +12:00
logging_handler.go Add silence ping logging flag 2019-07-16 09:42:24 +12:00
main.go Correct tls cert flag name per 186 2019-07-16 13:32:57 +01:00
MAINTAINERS Add MAINTAINERS and update CODEOWNERS 2019-07-23 16:20:45 +01:00
Makefile Switch from dep to go mod 2019-07-13 21:54:45 +01:00
oauthproxy_test.go Merge branch 'master' into refactor 2019-07-15 11:30:43 +01:00
oauthproxy.go Add silence ping logging flag using ExcludePath 2019-07-16 09:46:53 +12:00
options_test.go added better tests for gcp healthcheck stuff 2019-03-25 09:56:56 -07:00
options.go Update options.go 2019-07-19 22:11:53 +12:00
README.md Shorten README.md (#154) 2019-05-10 12:25:05 +01:00
string_array.go Implement Getter interface for StringArray (#104) 2019-03-20 13:58:14 +00:00
templates_test.go Swap out bmizerany/assert package that is deprecated in favor of stretchr/testify/assert 2017-10-23 12:24:17 -04:00
templates.go Move logger to pkg/logger 2019-06-15 11:33:58 +02:00
validator_test.go Lint for non-comment linter errors 2018-11-29 14:26:41 +00:00
validator_watcher_copy_test.go Lint for non-comment linter errors 2018-11-29 14:26:41 +00:00
validator_watcher_test.go Lint for non-comment linter errors 2018-11-29 14:26:41 +00:00
validator.go Move logger to pkg/logger 2019-06-15 11:33:58 +02:00
version.go Introduce Makefile 2019-01-04 10:58:30 +00:00
watcher_unsupported.go Move logger to pkg/logger 2019-06-15 11:33:58 +02:00
watcher.go Move logger to pkg/logger 2019-06-15 11:33:58 +02:00

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.

Build Status

Sign In Page

Installation

  1. 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
  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)

Docs

Read the docs on our Docs site.

OAuth2 Proxy Architecture

Contributing

Please see our Contributing guidelines.