authorization_context

package
v0.0.22 Latest Latest
Warning

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

Go to latest
Published: Jan 11, 2024 License: MIT Imports: 17 Imported by: 1

Documentation

Index

Constants

This section is empty.

Variables

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

Functions

func GetUserIdFromRequest added in v0.0.14

func GetUserIdFromRequest(r *http.Request) string

func GetUserSubjectFromRequest added in v0.0.14

func GetUserSubjectFromRequest(r *http.Request) string

Types

type AuthorizationContext

type AuthorizationContext struct {
	OauthContext         *oauth2context.Oauth2Context
	RequestId            string
	TenantId             string
	Issuer               string
	Scope                string
	Audiences            []string
	BaseUrl              string
	Options              *AuthorizationOptions
	ValidationOptions    *AuthorizationValidationOptions
	KeyVault             *jwt_keyvault.JwtKeyVaultService
	ApiKeyManager        *api_key_manager.ApiKeyManager
	UserDatabaseAdapter  interfaces.UserContextAdapter
	NotificationCallback func(notification models.OAuthNotification) error
	IsAuthorized         bool
	IsMicroService       bool
	AuthorizationError   *models.OAuthErrorResponse
	AuthorizedBy         string
	User                 *UserContext
	// contains filtered or unexported fields
}

func Clone added in v0.0.15

func Clone() *AuthorizationContext

func GetBaseContext added in v0.0.14

func GetBaseContext() *AuthorizationContext

func Init added in v0.0.14

func Init() *AuthorizationContext

func New

func New() *AuthorizationContext

func NewFromUser

func NewFromUser(user *UserContext) *AuthorizationContext

func SetUserContext added in v0.0.14

func SetUserContext(context interfaces.UserContextAdapter) *AuthorizationContext

func WithAuthorization added in v0.0.13

func WithAuthorization(options AuthorizationOptions) *AuthorizationContext

func WithDefaultAuthorization added in v0.0.13

func WithDefaultAuthorization() *AuthorizationContext

func (*AuthorizationContext) GetBaseUrl added in v0.0.9

func (a *AuthorizationContext) GetBaseUrl(r *http.Request) string

func (*AuthorizationContext) GetKeyVault

func (*AuthorizationContext) SetRequestIssuer

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

func (*AuthorizationContext) WithApiKey added in v0.0.15

TODO: This is a temporary solution until we have a better way to handle this

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
	RecoverTokenDuration       int
	OtpSecret                  string
	OptDuration                int
	EmailVerificationProcessor string
	SignatureType              encryption.EncryptionKeyType
	SignatureSize              encryption.EncryptionKeySize
	PrivateKey                 string
	PublicKey                  string
	KeyId                      string
	ControllerPrefix           string
	PasswordRules              PasswordRules
}

type AuthorizationValidationOptions

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

type PasswordRules added in v0.0.6

type PasswordRules struct {
	RequiresCapital bool
	RequiresSpecial bool
	RequiresNumber  bool
	MinimumSize     int
	AllowsSpaces    bool
	AllowedSpecials string
}

type UserContext

type UserContext struct {
	TokenID         string
	Nonce           string
	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