Documentation
¶
Index ¶
- func AdminMiddleware(next echo.HandlerFunc) echo.HandlerFunc
- func AuthJWTMiddleware(authService service.AuthService, config *config.Config) echo.MiddlewareFunc
- type AuthService
- type MiddlewareManager
- func (mw *MiddlewareManager) AuthSessionMiddleware(next echo.HandlerFunc) echo.HandlerFunc
- func (mw *MiddlewareManager) CSRF(next echo.HandlerFunc) echo.HandlerFunc
- func (mw *MiddlewareManager) CheckAuth(next echo.HandlerFunc) echo.HandlerFunc
- func (mw *MiddlewareManager) OwnerOrAdminMiddleware() echo.MiddlewareFunc
- func (mw *MiddlewareManager) RoleBasedAuthMiddleware(roles []string) echo.MiddlewareFunc
- type SessionService
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func AuthJWTMiddleware ¶
func AuthJWTMiddleware(authService service.AuthService, config *config.Config) echo.MiddlewareFunc
JWT way of auth using cookie or Authorization header
Types ¶
type AuthService ¶
type AuthService interface {
Register(ctx context.Context, user *entity.User) (*entity.UserWithToken, error)
Update(ctx context.Context, user *entity.User) (*entity.User, error)
Delete(ctx context.Context, userID uuid.UUID) error
GetUserByID(ctx context.Context, userID uuid.UUID) (*entity.User, error)
FindUsersByName(ctx context.Context, name string, pq *utils.PaginationQuery) (*entity.UsersList, error)
GetUsers(ctx context.Context, pq *utils.PaginationQuery) (*entity.UsersList, error)
Login(ctx context.Context, user *entity.User) (*entity.UserWithToken, error)
}
Auth Service interface
type MiddlewareManager ¶
type MiddlewareManager struct {
// contains filtered or unexported fields
}
Middleware manager
func NewMiddlewareManager ¶
func NewMiddlewareManager(sessionService SessionService, authService AuthService, config *config.Config, origins []string, logger logger.Logger) *MiddlewareManager
Middleware manager constructor
func (*MiddlewareManager) AuthSessionMiddleware ¶
func (mw *MiddlewareManager) AuthSessionMiddleware(next echo.HandlerFunc) echo.HandlerFunc
Auth sessions middleware using redis
func (*MiddlewareManager) CSRF ¶
func (mw *MiddlewareManager) CSRF(next echo.HandlerFunc) echo.HandlerFunc
CSRF middleware
func (*MiddlewareManager) CheckAuth ¶
func (mw *MiddlewareManager) CheckAuth(next echo.HandlerFunc) echo.HandlerFunc
Check auth middleware
func (*MiddlewareManager) OwnerOrAdminMiddleware ¶
func (mw *MiddlewareManager) OwnerOrAdminMiddleware() echo.MiddlewareFunc
func (*MiddlewareManager) RoleBasedAuthMiddleware ¶
func (mw *MiddlewareManager) RoleBasedAuthMiddleware(roles []string) echo.MiddlewareFunc
Role based auth middleware, using ctx user
type SessionService ¶
type SessionService interface {
CreateSession(ctx context.Context, session *entity.Session, expire int) (string, error)
GetSessionByID(ctx context.Context, sessionID string) (*entity.Session, error)
DeleteSessionByID(ctx context.Context, sessionID string) error
}
Session service interface
Click to show internal directories.
Click to hide internal directories.