authorization_context

package
v0.0.21 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 8, 2022 License: MIT Imports: 11 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var ErrNoPrivateKey = errors.New("no private key found")

Functions

This section is empty.

Types

type AuthorizationContext

type AuthorizationContext struct {
	User              *UserContext
	TenantId          string
	Issuer            string
	Scope             string
	Audiences         []string
	Options           AuthorizationOptions
	ValidationOptions AuthorizationValidationOptions
	KeyVault          *jwt_keyvault.JwtKeyVaultService
	ContextAdapter    interfaces.UserContextAdapter
}

func GetCurrent

func GetCurrent() *AuthorizationContext

func New

func New() *AuthorizationContext

func NewFromUser

func NewFromUser(user *UserContext) *AuthorizationContext

func (*AuthorizationContext) GetKeyVault

func (*AuthorizationContext) SetRequestIssuer

func (a *AuthorizationContext) SetRequestIssuer(r *http.Request, tenantId string) string

func (*AuthorizationContext) WithAudience

func (a *AuthorizationContext) WithAudience(audience string) *AuthorizationContext

func (*AuthorizationContext) WithDefaultOptions

func (a *AuthorizationContext) WithDefaultOptions() *AuthorizationContext

func (*AuthorizationContext) WithDuration

func (a *AuthorizationContext) WithDuration(tokenDuration int) *AuthorizationContext

func (*AuthorizationContext) WithIssuer

func (a *AuthorizationContext) WithIssuer(issuer string) *AuthorizationContext

func (*AuthorizationContext) WithKeyVault

func (a *AuthorizationContext) WithKeyVault() *AuthorizationContext

func (*AuthorizationContext) WithOptions

func (*AuthorizationContext) WithPublicKey

func (a *AuthorizationContext) WithPublicKey(key string) *AuthorizationContext

func (*AuthorizationContext) WithScope

func (a *AuthorizationContext) WithScope(scope string) *AuthorizationContext

type AuthorizationOptions

type AuthorizationOptions struct {
	KeyVaultEnabled          bool
	TokenDuration            int
	RefreshTokenDuration     int
	VerifyEmailTokenDuration int
	SignatureType            encryption.EncryptionKeyType
	SignatureSize            encryption.EncryptionKeySize
	PrivateKey               string
	PublicKey                string
	KeyId                    string
}

type AuthorizationValidationOptions

type AuthorizationValidationOptions struct {
	Audiences     bool
	ExpiryDate    bool
	Subject       bool
	Issuer        bool
	VerifiedEmail bool
	NotBefore     bool
	Tenant        bool
}

type UserContext

type UserContext struct {
	ID              string
	Username        string
	Email           string
	DisplayName     string
	Tenant          string
	Audiences       []string
	Issuer          string
	ValidatedClaims []string
	Roles           []string
}

func NewUserContext

func NewUserContext() *UserContext

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL