code

package
v0.15.0 Latest Latest
Warning

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

Go to latest
Published: Mar 30, 2026 License: MIT Imports: 20 Imported by: 0

Documentation

Overview

Package code 发送一次性验证码类型的验证

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Init

func Init(
	user *user.Users,
	expired, resend time.Duration,
	gen Generator, sender Sender,
	id string,
	newUser func(*user.User) error,
	desc web.LocaleStringer,
) user.Passport

Init 声明基于验证码的验证方法

func Install

func Install(mod *cmfx.Module, tableName string)

Types

type Generator

type Generator = func() string

Generator 生成验证码的方法签名

func AlphaNumberGenerator

func AlphaNumberGenerator(s web.Server, name string, length int) Generator

AlphaNumberGenerator 生成长度为 length 的验证码

func NumberGenerator

func NumberGenerator(s web.Server, name string, length int) Generator

NumberGenerator 生成长度为 length 的数字验证码

type Sender

type Sender interface {
	// ValidIdentity 验证接收地址的格式是否正确
	ValidIdentity(string) bool

	// Sent 发送验证码
	//
	// target 为接收验证码的目标,比如邮箱地址或是手机号码等;
	// code 为发送的验证码;
	//
	// NOTE: 该方法会被异步调用。
	Sent(target, code string) error
}

Sender 验证码的发送者需要实现的接口

func NewSMTPSender

func NewSMTPSender(subject, addr, from, template string, auth smtp.Auth) Sender

NewSMTPSender 基于 SMTP 的 Sender 实现

subject 为发送邮件的主题; addr 为 smtp 的主机地址,需要带上端口号; template 为邮件模板,可以有一个占位符 %%code%%;

type TargetTO

type TargetTO struct {
	Target string `json:"target" yaml:"target" cbor:"target" comment:"code receiver, ignore when binded"`
}

func (*TargetTO) Filter

func (a *TargetTO) Filter(ctx *web.FilterContext)

Directories

Path Synopsis
Package codetest 为 code 提供测试内容
Package codetest 为 code 提供测试内容

Jump to

Keyboard shortcuts

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