Documentation
¶
Overview ¶
Package token 은 Nullus 가 직접 발급하는 세션 토큰을 다룬다.
IdP(OIDC)와 별개의 경로다. IdP 가 죽어도 들어갈 수단이 있어야 하므로 ID/PW 로 인증한 사용자에게 이 토큰을 준다. 검증 주체가 우리이므로 issuer 를 우리 이름으로 찍어 두고, 미들웨어가 그 값을 보고 어느 검증기로 보낼지 정한다.
Index ¶
Constants ¶
View Source
const LocalIssuer = "nullus-local"
LocalIssuer 는 우리가 발급한 토큰에 찍는 issuer 다. Keycloak 이 발급한 토큰과 구분하는 유일한 표식이므로 IdP 의 issuer 와 겹치지 않아야 한다.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type LocalIssuerService ¶
type LocalIssuerService struct {
// contains filtered or unexported fields
}
func NewLocalIssuer ¶
func NewLocalIssuer(secret string, ttl time.Duration) *LocalIssuerService
func (*LocalIssuerService) Enabled ¶
func (s *LocalIssuerService) Enabled() bool
Enabled 는 서명키가 있어 발급·검증이 가능한지 알려준다.
type SessionIssuerAdapter ¶
type SessionIssuerAdapter struct {
// contains filtered or unexported fields
}
SessionIssuerAdapter 는 LocalIssuerService 를 auth 유스케이스의 포트에 맞춘다.
매핑이 하나라도 빠지면 로그인은 되는데 권한이 없거나 조직이 비어 보이는, 원인을 찾기 어려운 상태가 된다.
func NewSessionIssuer ¶
func NewSessionIssuer(svc *LocalIssuerService) SessionIssuerAdapter
func (SessionIssuerAdapter) Issue ¶
func (a SessionIssuerAdapter) Issue(c domain.SessionClaims) (string, error)
Click to show internal directories.
Click to hide internal directories.