Skip to content

Commit ce8f9f2

Browse files
aeneasrarekkas
aeneasr
authored andcommitted
Add extra data from token introspection to session
1 parent 73994b8 commit ce8f9f2

File tree

2 files changed

+10
-5
lines changed

2 files changed

+10
-5
lines changed

evaluator/evaluator_warden.go

+3
Original file line numberDiff line numberDiff line change
@@ -161,6 +161,7 @@ func (d *WardenEvaluator) EvaluateAccessRequest(r *http.Request) (*Session, erro
161161
User: introspection.Sub,
162162
ClientID: introspection.ClientId,
163163
Anonymous: false,
164+
Extra: introspection.Ext,
164165
}, nil
165166
case rule.AuthenticatedMode:
166167
if token == "" {
@@ -229,6 +230,7 @@ func (d *WardenEvaluator) EvaluateAccessRequest(r *http.Request) (*Session, erro
229230
User: introspection.Sub,
230231
ClientID: introspection.ClientId,
231232
Anonymous: false,
233+
Extra: introspection.Ext,
232234
}, nil
233235
case rule.PolicyMode:
234236
if token == "" {
@@ -297,6 +299,7 @@ func (d *WardenEvaluator) EvaluateAccessRequest(r *http.Request) (*Session, erro
297299
User: introspection.Subject,
298300
ClientID: introspection.ClientId,
299301
Anonymous: false,
302+
Extra: introspection.AccessTokenExtra,
300303
}, nil
301304
default:
302305
d.Logger.WithError(err).

evaluator/session.go

+7-5
Original file line numberDiff line numberDiff line change
@@ -8,11 +8,12 @@ import (
88
)
99

1010
type Session struct {
11-
User string `json:"user"`
12-
Anonymous bool `json:"anonymous"`
13-
Disabled bool `json:"disabled"`
14-
ClientID string `json:"clientId"`
15-
Issuer string `json:"issuer"`
11+
User string `json:"user"`
12+
Anonymous bool `json:"anonymous"`
13+
Disabled bool `json:"disabled"`
14+
ClientID string `json:"clientId"`
15+
Issuer string `json:"issuer"`
16+
Extra interface{} `json:"extra"`
1617
}
1718

1819
func (s *Session) ToClaims() jwt.MapClaims {
@@ -25,5 +26,6 @@ func (s *Session) ToClaims() jwt.MapClaims {
2526
"anon": s.Anonymous,
2627
"aud": s.ClientID,
2728
"jti": uuid.New(),
29+
"ext": s.Extra,
2830
}
2931
}

0 commit comments

Comments
 (0)