| 123456789101112131415161718192021222324 |
- package gateway
- import (
- "slices"
- "realtime-gateway/internal/config"
- "realtime-gateway/internal/model"
- )
- func authorize(cfg config.AuthConfig, role model.Role, token string) bool {
- switch role {
- case model.RoleProducer:
- return slices.Contains(cfg.ProducerTokens, token)
- case model.RoleController:
- return slices.Contains(cfg.ControllerTokens, token)
- case model.RoleConsumer:
- if cfg.AllowAnonymousConsumers && token == "" {
- return true
- }
- return slices.Contains(cfg.ConsumerTokens, token)
- default:
- return false
- }
- }
|