kuma

Форк
0
33 строки · 677.0 Байт
1
package zoneingress
2

3
import (
4
	"context"
5

6
	core_tokens "github.com/kumahq/kuma/pkg/core/tokens"
7
)
8

9
type Validator interface {
10
	Validate(ctx context.Context, token Token) (Identity, error)
11
}
12

13
type jwtValidator struct {
14
	validator core_tokens.Validator
15
}
16

17
var _ Validator = &jwtValidator{}
18

19
func NewValidator(validator core_tokens.Validator) Validator {
20
	return &jwtValidator{
21
		validator: validator,
22
	}
23
}
24

25
func (j *jwtValidator) Validate(ctx context.Context, token Token) (Identity, error) {
26
	claims := &ZoneIngressClaims{}
27
	if err := j.validator.ParseWithValidation(ctx, token, claims); err != nil {
28
		return Identity{}, err
29
	}
30
	return Identity{
31
		Zone: claims.Zone,
32
	}, nil
33
}
34

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.