34 lines
780 B
Go
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
|
|
}
|