29 lines
731 B
Go
29 lines
731 B
Go
package repository
|
|
|
|
import (
|
|
"context"
|
|
"time"
|
|
|
|
memberdomain "gateway/internal/model/member/domain"
|
|
)
|
|
|
|
// StepUpSession binds a verified step-up token to tenant/member/purpose.
|
|
type StepUpSession struct {
|
|
TokenID string
|
|
TenantID string
|
|
UID string
|
|
Purpose string
|
|
}
|
|
|
|
// StepUpStore persists short-lived step-up sessions after TOTP verify.
|
|
type StepUpStore interface {
|
|
Save(ctx context.Context, session *StepUpSession, ttl time.Duration) error
|
|
Get(ctx context.Context, tokenID string) (*StepUpSession, error)
|
|
Delete(ctx context.Context, tokenID string) error
|
|
}
|
|
|
|
// StepUpRedisKey re-exports the Redis key helper for tests.
|
|
func StepUpRedisKey(tokenID string) string {
|
|
return memberdomain.GetStepUpRedisKey(tokenID)
|
|
}
|