Commit graph

2583 commits

Author SHA1 Message Date
Bobby DeSimone
4bdb9173ff
version++ 2019-04-30 21:22:48 -07:00
Bobby DeSimone
1d8eb12d7a
changelog++ 2019-04-30 21:20:48 -07:00
Bobby DeSimone
ce7a8b1f2d
docs: add certificate section (#96)
Closes #88
2019-04-27 20:21:43 -07:00
Bobby DeSimone
857b9e5773
cmd/pomerium: redirect http and add hsts headers (#92) 2019-04-24 13:29:11 -07:00
Bobby DeSimone
fbe1cae482
proxy: remove unused setting AuthorizeInternalAddr (#93)
- Added unit tests for policy validation.
- Removed extraneous policy validation for URLs.
- Add dependency caching to dockerfile.
2019-04-24 13:28:29 -07:00
Bobby DeSimone
96f4b8bd61
docs: add sitemap 2019-04-14 17:59:31 -07:00
Bobby DeSimone
603e6a17b9
authenticate: infer settings from authenticate url (#83) 2019-04-10 12:16:00 -07:00
Bobby DeSimone
06da599fbc
internal/identity: replace legacy approval_prompt=force with prompt=consent(#82)
Fixes a bug where caused by setting both prompt=consent and approval_prompt=force.
2019-04-08 17:32:40 -07:00
Bobby DeSimone
20b3950811
internal/identity: explicitly request a refresh_token from google on authorization
Google only provide refresh_token on the first authorization from the user. If user clears cookies, re-authorization will not bring back refresh_token. A work around to this is to add prompt=consent to the OAuth redirect URL and will always return a refresh_token.

Fixes Issue #80
2019-04-08 13:21:57 -07:00
Lian Duan
f54bf3f291
Force requesting refresh_token from Google
Google only provide refresh_token on the first authorization from the user. If user clears cookies, re-authorization will not bring back refresh_token. A work around to this is to add prompt=consent to the OAuth redirect URL and will always return a refresh_token.
2019-04-08 16:07:51 +02:00
Bobby DeSimone
7bf257f6e9
docs: add synology tutorial (#79) 2019-04-06 23:35:20 -07:00
Bobby DeSimone
41c42f590f
v0.0.3 2019-03-29 16:13:15 -07:00
Bobby DeSimone
0b0010e6ce
docs: changelog++ v0.0.3 (#76) 2019-03-29 16:09:46 -07:00
Bobby DeSimone
8ead5b2a7e
docs: update helm_gke script and docs 2019-03-29 11:41:37 -07:00
Bobby DeSimone
5284c8c32b
deployment: update helm and add quick-start docs (#75)
- adds quick-start documentation for using helm
- update helm deployment charts to match outstanding official charts repo.
2019-03-29 08:35:31 -07:00
Bobby DeSimone
7c7939cf5b
deployment: add google analytics 2019-03-28 22:28:37 -07:00
Bobby DeSimone
b18a462681
internal/log: fix setting log level (#74)
- POMERIUM_DEBUG no longer sets log level.
- LOG_LEVEL now responsible for setting global log level.
2019-03-28 11:40:36 -07:00
Bobby DeSimone
a39e84cef8
internal/identity: use email for group identifier for gsuite (#72) 2019-03-26 20:29:57 -07:00
Bobby DeSimone
b93a8aa79c
proxy: add debug message for cert pool 2019-03-24 17:12:37 -07:00
Bobby DeSimone
45e6a8dc57
docs: update changelog, documentaiton, and helm configurations. (#63)
- Update changelog.
- Update docs to cover authorization support.
- Updates helm to support authorization, and policy file.
2019-03-19 10:55:41 -07:00
Bobby DeSimone
eb9dff0c48
scripts: fix kubernetes script 2019-03-12 15:44:54 -07:00
Bobby DeSimone
0a501b61ed
authenticate: support kubernetes (#62)
- cmd/pomerium: made ping a toplevel route for all services.
- docs: updated kubernetes script and corresponding configuration yaml's
2019-03-12 15:31:17 -07:00
Bobby DeSimone
c13459bb88
authorize: add authorization (#59)
* authorize: authorization module adds support for per-route access policy. In this release we support the most common forms of identity based access policy: `allowed_users`, `allowed_groups`, and `allowed_domains`. In future versions, the authorization module will also support context and device based authorization policy and decisions. See website documentation for more details.
 * docs: updated `env.example` to include a `POLICY` setting example.
 * docs:  added `IDP_SERVICE_ACCOUNT` to  `env.example` .
 * docs: removed `PROXY_ROOT_DOMAIN` settings which has been replaced by `POLICY`.
 * all: removed `ALLOWED_DOMAINS` settings which has been replaced by `POLICY`. Authorization is now handled by the authorization service and is defined in the policy configuration files.
 * proxy: `ROUTES` settings which has been replaced by `POLICY`.
* internal/log: `http.Server` and `httputil.NewSingleHostReverseProxy` now uses pomerium's logging package instead of the standard library's built in one.

Closes #54
Closes #41
Closes #61
Closes #58
2019-03-07 12:47:07 -08:00
Bobby DeSimone
1187be2bf3
authenticator: support groups (#57)
- authenticate/providers: add group support to azure
- authenticate/providers: add group support to google
- authenticate/providers: add group support to okta
- authenticate/providers: add group support to onelogin
- {authenticate/proxy}: change default cookie lifetime timeout to 14 hours
- proxy: sign group membership
- proxy: add group header
- deployment: add CHANGELOG
- deployment: fix where make release wasn’t including version
2019-02-28 19:34:22 -08:00
Bobby DeSimone
a2d647ee5b
deployment: add automatic travis releases 2019-02-19 14:40:47 -08:00
Bobby DeSimone
1848899152
v0.0.2 2019-02-19 14:02:15 -08:00
Bobby DeSimone
afd5abdc09
cmd/pomerium: add service mode to log 2019-02-19 11:23:10 -08:00
Bobby DeSimone
e3f4bcae19
authenticate/providers: add onelogin (#53)
- docs: fixes various typos and grammar errors
2019-02-19 10:41:27 -08:00
Bobby DeSimone
a31721a239
docs: add configuration variables (#52) 2019-02-18 18:48:14 -08:00
Michael Barrientos
7b1e832b45 proxy: support certificate authority to verify server (#49) 2019-02-18 09:58:05 -08:00
Bobby DeSimone
ede412448a
docs: add benchmarking script 2019-02-17 18:57:48 -08:00
Bobby DeSimone
88b7766c7d
proxy/authenticator: fix check to ensure port assigned (#51) 2019-02-17 18:29:11 -08:00
Michael Barrientos
6f93909194 all: fix misspelling of override (#50) 2019-02-17 12:35:26 -08:00
Bobby DeSimone
dbafc691c3
all: general cleanup readying for tagged release (#48)
- docs: add code coverage to readme
- internal/sessions: refactor sessions to clarify lifetime
- authenticate: simplified signin flow
- deployment: update go mods
- internal/testutil: removed package
- internal/singleflight: removed package
2019-02-16 12:43:18 -08:00
Bradley Weston
13c03a2b5c docs: remove port from internal service url in k8s example (#47) 2019-02-14 10:35:34 -08:00
Bobby DeSimone
805f0198d2
authenticate: add tests, fix signout (#45)
- authenticate: a bug where sign out failed to revoke the remote session
- docs: add code coverage to readme
- authenticate: Rename shorthand receiver variable name
- authenticate: consolidate sign in
2019-02-14 00:01:50 -08:00
Bobby DeSimone
35ee3247d7
proxy: fix missing port 2019-02-12 16:43:22 -08:00
Bobby DeSimone
09744f6adb
proxy: add tests (#44) 2019-02-12 16:38:17 -08:00
Bobby DeSimone
4f4f3965aa
proxy: add unit tests (#43) 2019-02-11 20:15:01 -08:00
Bobby DeSimone
cedf9922d3
proxy: add unit tests (#42)
- Fixed pomerium.io site description
- Updated kubernetes examples to use the latest docker images.
- Use cryputil hash function for proxy hmac.
- Add unit tests for proxy handlers.
2019-02-08 22:39:48 -08:00
Bobby DeSimone
c886b924e7
authenticate: use gRPC for service endpoints (#39)
* authenticate: set cookie secure as default.
* authenticate: remove single flight provider.
* authenticate/providers: Rename “ProviderData” to “IdentityProvider”
* authenticate/providers: Fixed an issue where scopes were not being overwritten
* proxy/authenticate : http client code removed.
* proxy: standardized session variable names between services.
* docs: change basic docker-config to be an “all-in-one” example with no nginx load.
* docs:  nginx balanced docker compose example with intra-ingress settings.
* license:  attribution for adaptation of goji’s middleware pattern.
2019-02-08 10:10:38 -08:00
Bobby DeSimone
9ca3ff4fa2
cmd/pomerium : restore /ping without hostname (#37)
Re-adding the hostless /ping for the authenticate service. Without these 4 lines, Pomerium fails to stay running when using the helm chart that's checked into the repo; the Kubernetes liveness/readiness probes don't see the pod as successfully running, and Kubernetes goes into an endless restart loop.

I have tried the following:

Adding httpHeaders: {name: "Host", value: "insert_redirect_uri_hostname_here"} to both probes to try to force it to recognize. Pomerium fails to stay running.
Removing the probes from the deployment definition. Pomerium successfully stays running and responds correctly. Thus it's certain that it's one of the probes failing.
Modifying the code here to log the request.host golang reports. It reports "10.x.x.x:443". (Actual pod internal IP address for the 10.x.x.x). That won't match the authHost.
2019-01-31 13:02:51 -08:00
Michael Barrientos
4f605aa757
Restore /ping without hostname 2019-01-31 10:28:16 -08:00
Bobby DeSimone
ebc1453292
proxy: use internal/httputil for error handling (#36)
- General formatting and comment cleanup.
- Inject pomerium version at compiletime via template package.
2019-01-30 12:22:03 -08:00
Bobby DeSimone
236e5cd7de
authenticate: remove extra login page (#34)
- Fixed a bug where Lifetime TTL was set to a minute.
- Remove nested mux in authenticate handlers.
- Remove extra ping endpoint in authenticate and proxy.
- Simplified sign in flow with multi-catch case statement.
- Removed debugging logging.
- Broke out cmd/pomerium options into own file.
- Renamed msicreant cipher to just cipher.

Closes #23
2019-01-29 20:28:55 -08:00
Bobby DeSimone
bcecee5ee3
docs: add kubernetes (#33)
- Update PR template to use Go language conventions.
- Moved healthcheck middleware to hijack a request before logging.
- Rewrote the quickstart guides to follow a similar pattern.
- Added an overview blurb on pomerium and its goals.
- Add an "example config" section to docs.
2019-01-27 22:22:14 -08:00
Bobby DeSimone
b1912128f3
proxy: fixed bug where ping wouldn't fire 2019-01-26 22:12:15 -08:00
Michael Barrientos
6b6e79aced docs: add helm charts (#10) 2019-01-26 20:51:24 -08:00
Bobby DeSimone
4a52835baa
docs: add issue templates 2019-01-26 13:00:17 -08:00
Bobby DeSimone
661fd89feb
docs: add build from source guide (#32) 2019-01-26 12:10:27 -08:00