git.iko.soy/typeable/oauth2-proxy
on master help sign in
Merge pull request #1583 from adriananeci/groups_token_to_session
f820debJoel Speed
CHANGELOG.md+1
@@ -13,6 +13,7 @@
13
13
14## Changes since v7.2.1
14## Changes since v7.2.1
15
15
16+- [#1583](https://github.com/oauth2-proxy/oauth2-proxy/pull/1583) Add groups to session too when creating session from bearer token (@adriananeci)
16- [#1418](https://github.com/oauth2-proxy/oauth2-proxy/pull/1418) Support for passing arbitrary query parameters through from `/oauth2/start` to the identity provider's login URL. Configuration settings control which parameters are passed by default and precisely which values can be overridden per-request (@ianroberts)
17- [#1418](https://github.com/oauth2-proxy/oauth2-proxy/pull/1418) Support for passing arbitrary query parameters through from `/oauth2/start` to the identity provider's login URL. Configuration settings control which parameters are passed by default and precisely which values can be overridden per-request (@ianroberts)
17- [#1559](https://github.com/oauth2-proxy/oauth2-proxy/pull/1559) Introduce ProviderVerifier to clean up OIDC discovery code (@JoelSpeed)
18- [#1559](https://github.com/oauth2-proxy/oauth2-proxy/pull/1559) Introduce ProviderVerifier to clean up OIDC discovery code (@JoelSpeed)
18- [#1561](https://github.com/oauth2-proxy/oauth2-proxy/pull/1561) Add ppc64le support (@mgiessing)
19- [#1561](https://github.com/oauth2-proxy/oauth2-proxy/pull/1561) Add ppc64le support (@mgiessing)
pkg/apis/middleware/session.go+6−4
@@ -20,10 +20,11 @@ type VerifyFunc func(ctx context.Context, token string) (*oidc.IDToken, error)
20func CreateTokenToSessionFunc(verify VerifyFunc) TokenToSessionFunc {
20func CreateTokenToSessionFunc(verify VerifyFunc) TokenToSessionFunc {
21 return func(ctx context.Context, token string) (*sessionsapi.SessionState, error) {
21 return func(ctx context.Context, token string) (*sessionsapi.SessionState, error) {
22 var claims struct {
22 var claims struct {
23− Subject string `json:"sub"`
23+ Subject string `json:"sub"`
24− Email string `json:"email"`
24+ Email string `json:"email"`
25− Verified *bool `json:"email_verified"`
25+ Verified *bool `json:"email_verified"`
26− PreferredUsername string `json:"preferred_username"`
26+ PreferredUsername string `json:"preferred_username"`
27+ Groups []string `json:"groups"`
27 }
28 }
28
29
29 idToken, err := verify(ctx, token)
30 idToken, err := verify(ctx, token)
@@ -46,6 +47,7 @@ func CreateTokenToSessionFunc(verify VerifyFunc) TokenToSessionFunc {
46 newSession := &sessionsapi.SessionState{
47 newSession := &sessionsapi.SessionState{
47 Email: claims.Email,
48 Email: claims.Email,
48 User: claims.Subject,
49 User: claims.Subject,
50+ Groups: claims.Groups,
49 PreferredUsername: claims.PreferredUsername,
51 PreferredUsername: claims.PreferredUsername,
50 AccessToken: token,
52 AccessToken: token,
51 IDToken: token,
53 IDToken: token,