Documentation
¶
Index ¶
- func AuthMiddleware() echo.MiddlewareFunc
- func DualAuthMiddleware(authMode string, sessionMW, oidcMW echo.MiddlewareFunc, opts ...DualAuthOption) echo.MiddlewareFunc
- func JWTAuthMiddleware(cfg JWTConfig, provider authport.OIDCProvider) echo.MiddlewareFunc
- func RBACByRouteGroup() echo.MiddlewareFunc
- func RBACMiddleware() echo.MiddlewareFunc
- func RequireRole(roles ...admindomain.Role) echo.MiddlewareFunc
- func RequiredRolesForRoute(path, method string) []admindomain.Role
- type DualAuthOption
- type JWTConfig
- type JWTMiddleware
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 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