Files
hspguard/internal/types/claims.go
2025-06-07 19:17:29 +02:00

34 lines
780 B
Go

package types
import "github.com/golang-jwt/jwt/v5"
type UserClaims struct {
UserEmail string `json:"user_email"`
IsAdmin bool `json:"is_admin"`
jwt.RegisteredClaims
}
type IdTokenClaims struct {
Email string `json:"email"`
EmailVerified bool `json:"email_verified"`
Name string `json:"name"`
Picture *string `json:"picture"`
Nonce *string `json:"nonce"`
Roles []string `json:"roles"`
// TODO: add given_name, family_name, locale...
jwt.RegisteredClaims
}
type ApiClaims struct {
// FIXME: correct permissions
Permissions []string `json:"permissions"`
jwt.RegisteredClaims
// Subject = ClientID
}
type ApiRefreshClaims struct {
UserID string `json:"user_id"`
jwt.RegisteredClaims
// Subject = ClientID
}