middleware

package
v0.5.0 Latest Latest
Warning

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

Go to latest
Published: Aug 31, 2026 License: Apache-2.0 Imports: 15 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func AuthMiddleware

func AuthMiddleware() echo.MiddlewareFunc

AuthMiddleware checks the session for a user and stores it in the context. For the alpha/beta phase, this uses a simplified session-based approach.

func DualAuthMiddleware

func DualAuthMiddleware(authMode string, sessionMW, oidcMW echo.MiddlewareFunc, opts ...DualAuthOption) echo.MiddlewareFunc

DualAuthMiddleware 는 두 인증 경로를 함께 세운다.

사용자 ──[OIDC 로그인]──▶ IdP(Keycloak) ──ID Token──┐
     └──[ID/PW 로그인]──▶ Nullus DB ──세션 토큰──────┴──▶ API

예전에는 authMode 로 둘 중 하나만 골랐다. 그래서 OIDC 배포에는 ID/PW 로 들어갈 방법이 아예 없었고, IdP 가 죽으면 아무도 들어갈 수 없었다.

토큰의 issuer 로 갈래를 정한다. 우리가 찍은 issuer 면 우리가 검증하고, 아니면 기존 검증기(authMode 가 고른 것)로 넘긴다 — 여기서 가로채면 IdP 사용자가 전부 401 이 되므로 넘기는 쪽이 기본이다.

func JWTAuthMiddleware

func JWTAuthMiddleware(cfg JWTConfig, provider authport.OIDCProvider) echo.MiddlewareFunc

func RBACByRouteGroup

func RBACByRouteGroup() echo.MiddlewareFunc

func RBACMiddleware

func RBACMiddleware() echo.MiddlewareFunc

RBACMiddleware enforces the role-based API access matrix. Admin bypasses all checks. DevOps and Developer are limited to their allowed prefixes.

func RequireRole

func RequireRole(roles ...admindomain.Role) echo.MiddlewareFunc

RequireRole returns a middleware that checks if the current user has one of the required roles.

func RequiredRolesForRoute

func RequiredRolesForRoute(path, method string) []admindomain.Role

Types

type DualAuthOption

type DualAuthOption func(*dualAuthConfig)

DualAuthOption 은 DualAuthMiddleware 의 선택 동작이다.

func WithLocalTokens

func WithLocalTokens(v localTokenVerifier) DualAuthOption

WithLocalTokens 는 ID/PW 로그인이 발급한 세션 토큰도 받게 한다.

type JWTConfig

type JWTConfig struct {
	IssuerURL string
	Audience  string
}

type JWTMiddleware

type JWTMiddleware struct {
	// contains filtered or unexported fields
}

func NewJWTMiddleware

func NewJWTMiddleware(cfg JWTConfig, provider authport.OIDCProvider) *JWTMiddleware

func (*JWTMiddleware) Handler

func (m *JWTMiddleware) Handler() echo.MiddlewareFunc

Jump to

Keyboard shortcuts

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