controllers

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: 21 Imported by: 1

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	// ErrEmptyUserID User ID is an empty string
	ErrEmptyUserID = models.NewOAuthErrorResponse(models.OAuthInvalidClientError, "User ID is nil or empty.")
	// ErrInvalidUser User did not pass the object validation
	ErrInvalidUser = models.NewOAuthErrorResponse(models.OAuthInvalidClientError, "User did not pass validation.")
	// ErrInvalidUser User did not pass the object validation
	ErrInvalidPasswordValidation = models.NewOAuthErrorResponse(models.OAuthInvalidClientError, "User did not pass password validation.")
	// ErrEmailNotVerified User did not pass the object validation
	ErrEmailNotVerified = models.NewOAuthErrorResponse(models.OAuthInvalidClientError, "User did not validate email address.")

	// ErrUserNotFound User was not found in the database context
	ErrUserNotFound = models.NewOAuthErrorResponse(models.OAuthInvalidClientError, "User not found.")
	// ErrUserNotRemoved There was an error removing the user from the database context
	ErrUserNotRemoved = models.NewOAuthErrorResponse(models.OAuthInvalidClientError, "DB error, user not removed.")
	// ErrUserAlreadyExists The user already exists in the database
	ErrUserAlreadyExists = models.NewOAuthErrorResponse(models.OAuthInvalidClientError, "User already exists.")

	// ErrEmptyToken No User database context found error response
	ErrEmptyToken = models.NewOAuthErrorResponse(models.OAuthInvalidRequestError, "JWT token is nil or empty.")
	// ErrTokenNotFound No User database context found error response
	ErrTokenNotFound = models.NewOAuthErrorResponse(models.OAuthInvalidRequestError, "JWT token was not found, please check your authorization header or request body.")
	// ErrInvalidToken No User database context found error response
	ErrInvalidToken = models.NewOAuthErrorResponse(models.OAuthInvalidRequestError, "JWT token did not pass validation.")

	// ErrGrantNotSupported No User database context found error response
	ErrGrantNotSupported = models.NewOAuthErrorResponse(models.OAuthUnsupportedGrantType, "Grant is not currently supported by the system.")

	// ErrGrantNotSupported No User database context found error response
	ErrException = models.NewOAuthErrorResponse(models.OAuthUnsupportedGrantType, "Something went wrong on our side, please try again later")
)

Functions

This section is empty.

Types

type AuthorizationControllers

type AuthorizationControllers struct {
	Logger               *log.LoggerService
	Context              *execution_context.Context
	AuthorizationContext *authorization_context.AuthorizationContext
}

AuthorizationControllers

func NewAuthorizationControllers

func NewAuthorizationControllers(context interfaces.UserContextAdapter) *AuthorizationControllers

func NewDefaultAuthorizationControllers

func NewDefaultAuthorizationControllers() *AuthorizationControllers

func (*AuthorizationControllers) ChangePassword added in v0.0.6

func (c *AuthorizationControllers) ChangePassword() controllers.Controller

func (*AuthorizationControllers) Configuration

func (c *AuthorizationControllers) Configuration() controllers.Controller

Configuration Returns the OpenID Oauth configuration endpoint

func (*AuthorizationControllers) EmailVerificationRequest added in v0.0.6

func (c *AuthorizationControllers) EmailVerificationRequest() controllers.Controller

TODO: Implement better logging Register Create an user in the tenant

func (*AuthorizationControllers) Introspection

func (c *AuthorizationControllers) Introspection() controllers.Controller

Introspection Validates a token in the context returning an openid oauth introspect response

func (*AuthorizationControllers) Jwks

Jwks Returns the public keys for the openid oauth configuration endpoint for validation

func (*AuthorizationControllers) Login added in v0.0.13

Login Generate a token for a valid user

func (*AuthorizationControllers) OtpForEmailValidation added in v0.0.19

func (c *AuthorizationControllers) OtpForEmailValidation() controllers.Controller

Configuration Returns the OpenID Oauth configuration endpoint

func (*AuthorizationControllers) RecoverPassword added in v0.0.6

func (c *AuthorizationControllers) RecoverPassword() controllers.Controller

func (*AuthorizationControllers) RecoverPasswordRequest added in v0.0.6

func (c *AuthorizationControllers) RecoverPasswordRequest() controllers.Controller

TODO: Implement better logging Register Create an user in the tenant

func (*AuthorizationControllers) Register

func (c *AuthorizationControllers) Register(isPublic bool) controllers.Controller

Register Create an user in the tenant

func (*AuthorizationControllers) Revoke

TODO: Implement UserManager Revoke Revokes a user or a user refresh tenant, when revoking a user this will remove the user from the database deleting it

func (*AuthorizationControllers) Token

Login Generate a token for a valid user

func (*AuthorizationControllers) ValidateRecoverPasswordToken added in v0.0.8

func (c *AuthorizationControllers) ValidateRecoverPasswordToken() controllers.Controller

func (*AuthorizationControllers) VerifyEmail added in v0.0.6

type BaseControllerContext added in v0.0.6

type BaseControllerContext struct {
	Logger               *log.LoggerService
	Request              *http.Request
	Response             *http.Response
	ExecutionContext     *execution_context.Context
	AuthorizationContext *authorization_context.AuthorizationContext
	TenantID             string
	UserID               string
	User                 *models.User
	UserManager          *user_manager.UserManager
}

func NewBaseContext added in v0.0.6

func NewBaseContext(r *http.Request) *BaseControllerContext

func (*BaseControllerContext) MapRequestBody added in v0.0.6

func (ctx *BaseControllerContext) MapRequestBody(dest interface{}) error

func (*BaseControllerContext) NotifyError added in v0.0.11

func (ctx *BaseControllerContext) NotifyError(notification models.OAuthNotificationType, err *models.OAuthErrorResponse, data interface{}) error

func (*BaseControllerContext) NotifySuccess added in v0.0.11

func (ctx *BaseControllerContext) NotifySuccess(notification models.OAuthNotificationType, data interface{}) error

Jump to

Keyboard shortcuts

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