Documentation
¶
Index ¶
- Variables
- type Config
- type CreateEmailChangeChallengeInput
- type CreatePasswordResetChallengeInput
- type CreateSignupChallengeInput
- type EmailTemplateRenderer
- type Service
- func (s *Service) CreateEmailChangeChallenge(ctx context.Context, in CreateEmailChangeChallengeInput, now time.Time) (uuid.UUID, error)
- func (s *Service) CreateOpaqueChallenge(ctx context.Context, now time.Time, purpose domain.ChallengePurpose, ...) (uuid.UUID, error)
- func (s *Service) CreatePasswordResetChallenge(ctx context.Context, in CreatePasswordResetChallengeInput, now time.Time) (uuid.UUID, error)
- func (s *Service) CreateSignupChallenge(ctx context.Context, in CreateSignupChallengeInput, now time.Time) (uuid.UUID, error)
- func (s *Service) ExecuteEmailChange(ctx context.Context, action domain.PendingEmailChange, now time.Time) error
- func (s *Service) ExecutePasswordReset(ctx context.Context, action domain.PendingPasswordReset, now time.Time) error
- func (s *Service) ResendChallenge(ctx context.Context, challengeID uuid.UUID, now time.Time) error
- func (s *Service) VerifyEmailChangeChallenge(ctx context.Context, challengeID uuid.UUID, code string, ...) (*VerifyEmailChangeChallengeResult, error)
- func (s *Service) VerifyPasswordResetChallenge(ctx context.Context, challengeID uuid.UUID, code string, ...) (*VerifyPasswordResetChallengeResult, error)
- func (s *Service) VerifySignupChallenge(ctx context.Context, challengeID uuid.UUID, code string, ...) (*VerifySignupChallengeResult, error)
- type VerificationCodeService
- type VerifyEmailChangeChallengeResult
- type VerifyPasswordResetChallengeResult
- type VerifySignupChallengeResult
- type Worker
- type WorkerConfig
- type WorkerMetrics
Constants ¶
This section is empty.
Variables ¶
View Source
var ( ErrChallengeExpired = errors.New("challenge expired") ErrChallengeConsumed = errors.New("challenge already consumed") ErrTooManyAttempts = errors.New("too many verification attempts") ErrTooManyResends = errors.New("too many resend attempts") ErrResendTooSoon = errors.New("resend requested too soon") ErrInvalidVerificationCode = errors.New("invalid verification code") ErrUnsupportedChallengePurpose = errors.New("unsupported challenge purpose") )
Functions ¶
This section is empty.
Types ¶
type Config ¶
type Config struct {
Store *store.Store
Tx *tx.Manager
AllowlistEnabled bool
ChallengeTTL time.Duration
MaxAttempts int
MaxResends int
MinResendInterval time.Duration
Policy config.ChallengePolicyReader
AllowlistPolicy config.AllowlistPolicyReader
WebhookPublisher webhook.Publisher
AccessTokenRevocations *token.AccessTokenRevocations
}
type CreateEmailChangeChallengeInput ¶ added in v0.1.15
type CreatePasswordResetChallengeInput ¶ added in v0.1.14
type EmailTemplateRenderer ¶ added in v0.20.0
type EmailTemplateRenderer interface {
Render(context.Context, domain.EmailTemplate, email.TemplateData) (email.Message, error)
}
type Service ¶
type Service struct {
// contains filtered or unexported fields
}
func (*Service) CreateEmailChangeChallenge ¶ added in v0.1.15
func (*Service) CreateOpaqueChallenge ¶
func (*Service) CreatePasswordResetChallenge ¶ added in v0.1.14
func (*Service) CreateSignupChallenge ¶
func (*Service) ExecuteEmailChange ¶ added in v0.1.15
func (*Service) ExecutePasswordReset ¶ added in v0.1.14
func (*Service) ResendChallenge ¶
func (*Service) VerifyEmailChangeChallenge ¶ added in v0.1.15
func (*Service) VerifyPasswordResetChallenge ¶ added in v0.1.14
func (*Service) VerifySignupChallenge ¶
type VerificationCodeService ¶
type VerificationCodeService struct {
// contains filtered or unexported fields
}
func NewVerificationCodeServiceWithPolicy ¶ added in v0.21.0
func NewVerificationCodeServiceWithPolicy( store *store.Store, policy config.ChallengePolicyReader, secrets ...[]byte, ) *VerificationCodeService
func (*VerificationCodeService) GenerateCode ¶
type VerifyEmailChangeChallengeResult ¶ added in v0.1.15
type VerifyEmailChangeChallengeResult struct {
Challenge domain.Challenge
Action domain.PendingEmailChange
}
type VerifyPasswordResetChallengeResult ¶ added in v0.1.14
type VerifyPasswordResetChallengeResult struct {
Challenge domain.Challenge
Action domain.PendingPasswordReset
}
type VerifySignupChallengeResult ¶
type VerifySignupChallengeResult struct {
Challenge domain.Challenge
Action domain.PendingSignupAction
}
type Worker ¶
type Worker struct {
// contains filtered or unexported fields
}
func NewWorker ¶
func NewWorker( store *store.Store, codeSvc *VerificationCodeService, templates EmailTemplateRenderer, sender email.Sender, logger *slog.Logger, cfg WorkerConfig, ) *Worker
type WorkerConfig ¶
type WorkerMetrics ¶ added in v0.19.0
Click to show internal directories.
Click to hide internal directories.