diff --git a/internal/types/claims.go b/internal/types/claims.go index f5e8436..d18dcbf 100644 --- a/internal/types/claims.go +++ b/internal/types/claims.go @@ -3,8 +3,17 @@ package types import "github.com/golang-jwt/jwt/v5" type UserClaims struct { - UserID string `json:"user_id"` - // Role + UserEmail string `json:"user_email"` jwt.RegisteredClaims } +type ApiClaims struct { + UserID string `json:"user_id"` + // Permissions are guard's defined permissions + // Examples: + // 1. User MetaData (specifically some fields like email, profile picture and name) + // 2. Actions on User, e.g. home permissions fetching, notifications emitting + Permissions []string `json:"permissions"` + // Subject is an API ID defined in guard's DB after registration + jwt.RegisteredClaims +}