kuma
33 строки · 677.0 Байт
1package zoneingress2
3import (4"context"5
6core_tokens "github.com/kumahq/kuma/pkg/core/tokens"7)
8
9type Validator interface {10Validate(ctx context.Context, token Token) (Identity, error)11}
12
13type jwtValidator struct {14validator core_tokens.Validator15}
16
17var _ Validator = &jwtValidator{}18
19func NewValidator(validator core_tokens.Validator) Validator {20return &jwtValidator{21validator: validator,22}23}
24
25func (j *jwtValidator) Validate(ctx context.Context, token Token) (Identity, error) {26claims := &ZoneIngressClaims{}27if err := j.validator.ParseWithValidation(ctx, token, claims); err != nil {28return Identity{}, err29}30return Identity{31Zone: claims.Zone,32}, nil33}
34