github.com/kyma-incubator/compass/components/director@v0.0.0-20230623144113-d764f56ff805/internal/authenticator/claims/nsadapterClaimsValidator.go (about) 1 package claims 2 3 import ( 4 "context" 5 6 "github.com/kyma-incubator/compass/components/director/pkg/idtokenclaims" 7 8 "github.com/kyma-incubator/compass/components/hydrator/pkg/tenantmapping" 9 "github.com/pkg/errors" 10 ) 11 12 type claimsValidator struct{} 13 14 // NewClaimsValidator implements the ClaimsValidator interface 15 func NewClaimsValidator() *claimsValidator { 16 return &claimsValidator{} 17 } 18 19 // Validate validates the claims and asserts that the consumerTenant and externalTenant are not empty 20 func (v *claimsValidator) Validate(_ context.Context, claims idtokenclaims.Claims) error { 21 if err := claims.Valid(); err != nil { 22 return errors.Wrapf(err, "while validating claims") 23 } 24 25 if claims.Tenant[tenantmapping.ConsumerTenantKey] == "" || claims.Tenant[tenantmapping.ExternalTenantKey] == "" { 26 return errors.New("missing tenant") 27 } 28 29 return nil 30 }