Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
Functions ¶
func MapFallbackEmail ¶
func MapFallbackEmail(root any, fallback FallbackLookup) (string, bool)
Types ¶
type AppleJWTSecret ¶
type ClientSecret ¶
type ClientSecret struct {
Value string
Env string
Strategy string
AppleJWT *AppleJWTSecret
}
func (ClientSecret) ResolveStatic ¶
func (s ClientSecret) ResolveStatic() (string, error)
type FallbackLookup ¶
type FallbackLookup struct {
URL string
Accept string
Array bool
Select map[string]any
Email FieldMapping
EmailVerified FieldMapping
}
type FieldMapping ¶
type Identity ¶
type Identity struct {
Subject string
Email string
EmailVerified bool
PreferredUsername string
DisplayName string
}
func MapIdentity ¶
func MapIdentity(root any, mapping UserMapping) (Identity, error)
type Provider ¶
type Provider struct {
Name string
Kind Kind
Issuer string
ClientID string
ClientSecret ClientSecret
Scopes []string
PKCE bool
AuthorizeURL string
TokenURL string
UserInfoURL string
UserInfoAccept string
ExtraAuthParams map[string]string
UserMapping UserMapping
EmailFallback *FallbackLookup
// IdentityMapper is an internal escape hatch for providers whose userinfo
// response cannot be represented by declarative mappings.
IdentityMapper func(any) (Identity, error)
// SecretProvider is the internal escape hatch for callers that already
// construct dynamic secrets in code. Config-first providers should prefer
// ClientSecret strategies.
SecretProvider func(context.Context) (string, error)
}
func (Provider) NormalizedName ¶
type UserMapping ¶
type UserMapping struct {
Subject FieldMapping
Email FieldMapping
EmailVerified FieldMapping
PreferredUsername FieldMapping
DisplayName FieldMapping
}
Click to show internal directories.
Click to hide internal directories.