diff --git a/pkg/oidc/token_request.go b/pkg/oidc/token_request.go index 1d958df..800c515 100644 --- a/pkg/oidc/token_request.go +++ b/pkg/oidc/token_request.go @@ -43,51 +43,58 @@ type JWTTokenRequest struct { ExpiresAt Time `json:"exp"` } -func (j *JWTTokenRequest) GetClientID() string { - return j.Subject -} - -func (j *JWTTokenRequest) GetSubject() string { - return j.Subject -} - -func (j *JWTTokenRequest) GetScopes() []string { - return j.Scopes -} - +//GetSubject implements the Claims interface func (j *JWTTokenRequest) GetIssuer() string { return j.Issuer } +//GetAudience implements the Claims and TokenRequest interfaces func (j *JWTTokenRequest) GetAudience() []string { return j.Audience } +//GetExpiration implements the Claims interface func (j *JWTTokenRequest) GetExpiration() time.Time { return time.Time(j.ExpiresAt) } +//GetIssuedAt implements the Claims interface func (j *JWTTokenRequest) GetIssuedAt() time.Time { return time.Time(j.IssuedAt) } +//GetNonce implements the Claims interface func (j *JWTTokenRequest) GetNonce() string { return "" } +//GetAuthenticationContextClassReference implements the Claims interface func (j *JWTTokenRequest) GetAuthenticationContextClassReference() string { return "" } +//GetAuthTime implements the Claims interface func (j *JWTTokenRequest) GetAuthTime() time.Time { return time.Time{} } +//GetAuthorizedParty implements the Claims interface func (j *JWTTokenRequest) GetAuthorizedParty() string { return "" } -func (j *JWTTokenRequest) SetSignatureAlgorithm(algorithm jose.SignatureAlgorithm) {} +//SetSignatureAlgorithm implements the Claims interface +func (j *JWTTokenRequest) SetSignatureAlgorithm(_ jose.SignatureAlgorithm) {} + +//GetSubject implements the TokenRequest interface +func (j *JWTTokenRequest) GetSubject() string { + return j.Subject +} + +//GetSubject implements the TokenRequest interface +func (j *JWTTokenRequest) GetScopes() []string { + return j.Scopes +} type TokenExchangeRequest struct { subjectToken string `schema:"subject_token"` diff --git a/pkg/op/token.go b/pkg/op/token.go index bb2b3c5..a2236d4 100644 --- a/pkg/op/token.go +++ b/pkg/op/token.go @@ -82,8 +82,8 @@ func CreateBearerToken(id string, crypto Crypto) (string, error) { return crypto.Encrypt(id) } -func CreateJWT(issuer string, authReq TokenRequest, exp time.Time, id string, signer Signer) (string, error) { - claims := oidc.NewAccessTokenClaims(issuer, authReq.GetSubject(), authReq.GetAudience(), exp, id) +func CreateJWT(issuer string, tokenRequest TokenRequest, exp time.Time, id string, signer Signer) (string, error) { + claims := oidc.NewAccessTokenClaims(issuer, tokenRequest.GetSubject(), tokenRequest.GetAudience(), exp, id) return utils.Sign(claims, signer.Signer()) }