Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Auth0Provider ¶
type Auth0Provider struct {
// contains filtered or unexported fields
}
func NewAuth0Provider ¶
func NewAuth0Provider(config JWTConfig) (*Auth0Provider, error)
func (*Auth0Provider) KeyFunc ¶
func (p *Auth0Provider) KeyFunc() jwt.Keyfunc
func (*Auth0Provider) SetContextValues ¶
func (*Auth0Provider) VerifyAudience ¶
func (p *Auth0Provider) VerifyAudience(claims jwt.MapClaims) bool
func (*Auth0Provider) VerifyIssuer ¶
func (p *Auth0Provider) VerifyIssuer(claims jwt.MapClaims) bool
type FirebaseProvider ¶
type FirebaseProvider struct {
// contains filtered or unexported fields
}
func NewFirebaseProvider ¶
func NewFirebaseProvider(config JWTConfig) (*FirebaseProvider, error)
func (*FirebaseProvider) KeyFunc ¶
func (p *FirebaseProvider) KeyFunc() jwt.Keyfunc
func (*FirebaseProvider) SetContextValues ¶
func (*FirebaseProvider) VerifyAudience ¶
func (p *FirebaseProvider) VerifyAudience(claims jwt.MapClaims) bool
func (*FirebaseProvider) VerifyIssuer ¶
func (p *FirebaseProvider) VerifyIssuer(claims jwt.MapClaims) bool
type GenericProvider ¶
type GenericProvider struct {
// contains filtered or unexported fields
}
func NewGenericProvider ¶
func NewGenericProvider(config JWTConfig) (*GenericProvider, error)
func (*GenericProvider) KeyFunc ¶
func (p *GenericProvider) KeyFunc() jwt.Keyfunc
func (*GenericProvider) SetContextValues ¶
func (*GenericProvider) VerifyAudience ¶
func (p *GenericProvider) VerifyAudience(claims jwt.MapClaims) bool
func (*GenericProvider) VerifyIssuer ¶
func (p *GenericProvider) VerifyIssuer(claims jwt.MapClaims) bool
type JWKSProvider ¶
type JWKSProvider struct {
// contains filtered or unexported fields
}
func NewJWKSProvider ¶
func NewJWKSProvider(config JWTConfig) (*JWKSProvider, error)
func (*JWKSProvider) KeyFunc ¶
func (p *JWKSProvider) KeyFunc() jwt.Keyfunc
func (*JWKSProvider) SetContextValues ¶
func (*JWKSProvider) VerifyAudience ¶
func (p *JWKSProvider) VerifyAudience(claims jwt.MapClaims) bool
func (*JWKSProvider) VerifyIssuer ¶
func (p *JWKSProvider) VerifyIssuer(claims jwt.MapClaims) bool
type JWTConfig ¶
type JWTConfig struct {
// Provider can be auth0, firebase, jwks or other
Provider string
// Secret used for signing and encrypting the JWT token
Secret string
// Public keys can be used instead of using a secret
// PublicKeyFile points to the file containing the public key
PubKeyFile string `mapstructure:"public_key_file"`
// PubKeyType can be ecdsa or rsa
PubKeyType string `mapstructure:"public_key_type"`
// Audience value that the JWT token needs to match
Audience string `mapstructure:"audience"`
// Issuer value that the JWT token needs to match:
// Example: http://my-domain.auth0.com
Issuer string `mapstructure:"issuer"`
// JWKSURL sets the url of the JWKS endpoint.
// Example: https://YOUR_DOMAIN/.well-known/jwks.json
JWKSURL string `mapstructure:"jwks_url"`
// JWKSRefresh sets in minutes interval between refreshes,
// overriding the adaptive token refreshing
JWKSRefresh int `mapstructure:"jwks_refresh"`
// JWKSMinRefresh sets in minutes fallback value when tokens
// are refreshed, default to 60 minutes
JWKSMinRefresh int `mapstructure:"jwks_min_refresh"`
}
JWTConfig struct contains JWT authentication related config values used by the GraphJin service
type JWTProvider ¶
type JWTProvider interface {
KeyFunc() jwt.Keyfunc
VerifyAudience(jwt.MapClaims) bool
VerifyIssuer(jwt.MapClaims) bool
SetContextValues(context.Context, jwt.MapClaims) (context.Context, error)
}
JWTProvider is the interface to define providers for doing JWT authentication.
func NewProvider ¶
func NewProvider(config JWTConfig) (JWTProvider, error)
Click to show internal directories.
Click to hide internal directories.