1
0
mirror of https://github.com/oauth2-proxy/oauth2-proxy.git synced 2025-06-15 00:15:00 +02:00
Commit Graph

1595 Commits

Author SHA1 Message Date
f819200325 Remove unneeded cookie fields from OAuth2 Proxy 2021-10-06 14:56:58 +01:00
812aabe5da Remove old cookie builder functions 2021-10-06 14:56:57 +01:00
7f1ae0ee4d Integrate cookie builder in cookie session store 2021-10-06 14:56:57 +01:00
2dcda8539c Integrate cookie builder with persistent session manager 2021-10-06 14:56:56 +01:00
93026e4c82 Integrate cookie builder with OAuth2 Proxy 2021-10-06 14:56:55 +01:00
19e59da0e8 Integrate cookie builder with CSRF cookies 2021-10-06 14:56:54 +01:00
eb9bfe5a1c Create cookie builder 2021-10-06 14:56:51 +01:00
fd5e23e1c5 linkedidn: Update provider to v2 (#1315)
* linkedin: Update provider to v2

* changelog: Add change
2021-10-04 15:58:25 +01:00
3957183fd5 Use the httputil.NewSingleHostReverseProxy instead of yhat/wsutil for … (#1348)
* Use the httputil.NewSingleHostReverseProxy instad of yhat/wsutil for websocket proxying. This correctly handles 404 responses with keep-alive by terminating the tunnel rather than keeping it alive

* Tidy up dependencies - yhat/wsutil is no longer required

* Update changelog to include reference to 1348

Co-authored-by: Matt Lilley <matt.lilley@securitease.com>
Co-authored-by: Joel Speed <Joel.speed@hotmail.co.uk>
2021-10-03 15:38:40 +01:00
a87c27b6bf Merge pull request #1379 from janrotter/fix-htpasswd-user-group
Store groups from the htpasswd-user-group in the session during the manual sign in process
2021-09-28 11:09:29 +01:00
b0ab60b0b8 Merge branch 'master' into fix-htpasswd-user-group 2021-09-28 10:18:09 +01:00
044b022608 Merge pull request #1381 from matt-cote/keycloak-provider-documentation
Fix formatting of Keycloak provider documentation
2021-09-28 10:15:03 +01:00
6ced2e5ad4 Fix formatting of Keycloak provider documentation 2021-09-27 14:37:19 -04:00
826ebc230a Add changelog entry 2021-09-26 23:47:28 +02:00
81cfd24962 Store the group membership in the session
This change puts the groups from the htpasswd-user-group in the
session during the manual sign in process. This fixes the issue
with being unable to properly authenticate using the manual
sign in form when certain group membership is required (e.g. when
the --gitlab-group option is used).
2021-09-26 23:07:10 +02:00
e25158dda6 Add a test for htpasswd-user-groups in the session
The groups configured in the `htpasswd-user-group` are not
stored in the session, resulting in unauthorized errors when
group membership is required. Please see:
https://gist.github.com/janrotter/b3d806a59292f07fe83bc52c061226e0
for instructions on reproducing the issue.
2021-09-26 23:07:10 +02:00
f6b2848e9a Merge pull request #1239 from oauth2-proxy/gitlab-oidc
Make GitLab Provider based on OIDC Provider
2021-09-25 17:11:43 -07:00
e4a8c98e1b Preserve Nickname around refreshes 2021-09-25 16:49:30 -07:00
95f9de5979 Preserve projects after RefreshSession
RefreshSession will override session.Groups with the new
`groups` claims. We need to preserve all `project:` prefixed
groups and reattach them post refresh.
2021-09-25 16:49:30 -07:00
11c2177f18 Use nickname claim as User for GitLab
Previously this was only done in the `EnrichSession` stage
which would've missed Bearer usages & `RefreshSession`
would've overriden the User to the Subject.
2021-09-25 16:49:25 -07:00
c84a5a418f Adjust GitLab options configuration 2021-09-25 16:48:48 -07:00
3092941c57 Use OIDC as base of Gitlab provider 2021-09-25 16:48:48 -07:00
05a4e77c4c Multiarch builds (#1147)
* extract email from id_token for azure provider (#914)

* extract email from id_token for azure provider

this change fixes a bug when --resource is specified with non-Graph
api and the access token destined to --resource is used to call Graph
api

* fixed typo

* refactor GetEmailAddress to EnrichSessionState

* make getting email from idtoken best effort and fall back to previous behavior when it's absent

* refactor to use jwt package to extract claims

* fix lint

* refactor unit tests to use test table
refactor the get email logic from profile api

* addressing feedback

* added oidc verifier to azure provider and extract email from id_token if present

* fix lint and codeclimate

* refactor to use oidc verifier to verify id_token if oidc is configured

* fixed UT

* addressed comments

* minor refactor

* addressed feedback

* extract email from id_token first and fallback to access token

* fallback to access token as well when id_token doesn't have email claim

* address feedbacks

* updated change log!

* switch to docker buildx for multiarch builds

* add setup docker buildx action

* update docker push to push the multiarch image

* make multiarch image have parity with currently produced images by adding linux/armv6

* triaging issue with arm v6

* incorporating feedback

* fixing rebase disaster

* reset Makefile to blessed state

Co-authored-by: Weinong Wang <weinong@outlook.com>
2021-09-21 14:17:59 +01:00
ee7c405bd8 Merge pull request #997 from FStelzer/issue844
Use the raw url path when proxying upstream requests
2021-09-17 13:45:39 +01:00
88f32aeaa1 rename Upstreams to UpstreamConfig and its Configs member to Upstreams then 2021-09-17 12:37:57 +00:00
fe9159572c add docs for new Upstream mux config 2021-09-17 12:37:57 +00:00
662fa72e8c Add ProxyRawPath tests
Refactor proxy_test to set mux/upstream options for each test
individually and add tests for encoded urls with ProxyRawPath set and
unset.
2021-09-17 12:37:56 +00:00
d51556515e Introduce ProxyRawPath flag
Setting this flag will configure the upstream proxy to pass encoded urls
as-is.
2021-09-17 12:37:56 +00:00
733b3fe642 Determine line count for yaml load test dynamically
Adding a new option to the yaml alpha config will result in failed tests
unless you manually increment the line count. This commit computes this
dynamically.
2021-09-17 12:31:18 +00:00
12ab4ef529 Make the Upstreams mux configurable
This commit changes Upstreams from []Upstream to a struct{}
moving the previous []Upstream into .Configs and adjusts all uses of it.
2021-09-17 12:31:18 +00:00
ae72beb24e Enable UseEncodedPath() for frontend mux
This allows urls with encoded characters (e.g.: /%2F/) to pass to the
upstream mux instead of triggering a HTTP 301 from the frontend.
Otherwise a /%2F/test/ will result in a HTTP 301 -> /test/
2021-09-17 12:31:18 +00:00
ccbb98acd9 fix(1356): test if session variable is null (#1357)
* fix(1356): test if session variable is null

* fix(1356): adding changelog

Co-authored-by: Hedi Harzallah <hharzalla@talend.com>
2021-09-09 12:12:29 +01:00
54d44ccb8f Allow specifying URL as input for custom sign in logo (#1330)
* Allow specifying URL as input for custom logos

* Fix typo

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

* Update changelog

* Only allow HTTPS URLs

Co-authored-by: Joel Speed <Joel.speed@hotmail.co.uk>
Co-authored-by: Nick Meves <nicholas.meves@gmail.com>
2021-09-05 09:23:22 -07:00
7cf3065111 Changing user field type to text (#1337)
* Changing user field type to text

* Updated changelog

Co-authored-by: Joel Speed <Joel.speed@hotmail.co.uk>
2021-08-29 12:39:02 +01:00
5928fe5485 Merge pull request #1345 from pburgisser/add_skip_route_exemple
Adding example for auth skipping
2021-08-27 11:25:57 +02:00
45e45303ad Adding example for auth skiping 2021-08-27 10:53:57 +02:00
31f7c5bb59 Fix go get instructions (#1271)
Co-authored-by: Joel Speed <Joel.speed@hotmail.co.uk>
2021-08-18 17:11:18 +01:00
42c16efa38 Fixed .CustomLogin </form> tag placement for login page (#1317)
* Fixed .CustomLogin </form> tag placement for login page

* Update changelog (gh-1317)
2021-08-11 15:57:40 +01:00
526aff8c84 Merge pull request #1210 from pb82/keycloak-oidc-provider
Keycloak oidc provider
2021-08-07 09:57:03 -07:00
e6223383e5 update keycloak oidc provider and add unit tests 2021-08-02 11:39:50 +02:00
ab54de38cc Extract roles from Keycloak Access Tokens 2021-07-30 09:46:13 +02:00
4c0beb373f Add keycloak-oidc provider based on OIDCProvider 2021-07-30 09:46:13 +02:00
8967873659 Updated dependency versions which include CVE fixes (#1276)
* switched to github.com/golang-jwt/jwt and updated golang.org/x/crypto to include CVE fixes

* added #1276 to changelog

Co-authored-by: Joshua Vécsei <git@vecsei.me>
2021-07-29 17:45:41 +01:00
a35db2ae8a Fix expected error messages (#1269)
Co-authored-by: Joel Speed <Joel.speed@hotmail.co.uk>
2021-07-28 19:56:23 +01:00
0b4bc36554 Upgrade go-oidc to v3 (#1264) 2021-07-17 09:55:05 -07:00
ef697afc6d Merge pull request #1265 from wassan128/fix/doc-typo
Fix small typo
2021-07-10 13:01:44 +01:00
777556c97e Fix typo s/commmon/common/ 2021-07-08 21:29:43 +09:00
98f8195902 Merge pull request #1262 from oauth2-proxy/fix-encryption-finicky-tests
Remove finicky encryption test
2021-07-02 17:22:57 +01:00
1faa5c47ce Remove finicky encryption test
AES-CFB is unauthenticated, in rare circumstances it won't error on
AES-GCM encrypted payloads
2021-07-01 19:03:01 -07:00
7a83d18f23 Extend email-domain validation with sub-domain capability (#1233)
* Extend email-domain validation with sub-domain capability

* Adding the CHANGELOG entry

* Fixing lint erros

* Fixing lint erros

* Renamed the emailDomains to allowedDomains, plus tests

* Bringing together all basic test-cases

* Fixing unit tests

* Add unit tests to validate additional vulnerability concerns
2021-06-29 19:37:03 +01:00