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.