vericode

package
v1.0.55 Latest Latest
Warning

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

Go to latest
Published: Jul 18, 2024 License: MIT Imports: 14 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func GetLanguage

func GetLanguage(a auth.Authentication) []i18n.Language

GetLanguage ...

Types

type Account

type Account struct {
	// contains filtered or unexported fields
}

Account ... 包含关于某个具体账号的信息

func (*Account) Fetch

func (inst *Account) Fetch() (*DataObject, error)

Fetch ...

func (*Account) Put

func (inst *Account) Put(item *DataObject) error

Put ...

func (*Account) SendNewCode

func (inst *Account) SendNewCode() (*Verification, error)

SendNewCode 生成并发送验证码; 注意:出于安全原因,返回的 Verification 结构中不包含验证码

func (*Account) Verify

func (inst *Account) Verify(v *Verification) error

Verify 验证参数中的验证码是否正确

type Code

type Code string

Code 表示验证码

type Config

type Config struct {

	// services
	KVS              keyvalues.Service
	Mails            mails.Service
	Random           random.Service
	MessageTemplates templates.TemplateManager

	// params
	NS                  keyvalues.NS
	Alias               keyvalues.ClassAlias
	MaxAge              lang.Milliseconds
	MessageTemplateName string
}

Config 用于表示 Context 的配置

type Context

type Context struct {
	// contains filtered or unexported fields
}

Context 用于实现 sms|email 等验证码机制

func New

func New(cfg *Config) (*Context, error)

New 新建一个 vericode.Context

func (*Context) ForAccount

func (inst *Context) ForAccount(addr string, langs ...i18n.Language) *Account

ForAccount ...

func (*Context) NewMessage

func (inst *Context) NewMessage(code Code, langs ...i18n.Language) (*mails.Message, error)

NewMessage ...

type DataObject

type DataObject struct {
	Sum   lang.Hex    // 对验证码的 hash 计算结果
	Salt  lang.Base64 // 用于对验证码的 hash 计算
	Addr  string      // 表示账号的地址(mail_addr|phone_num)
	TTL   int         // 剩余重试次数
	Time1 lang.Time   // 起效时间
	Time2 lang.Time   // 失效时间
}

DataObject 用于存储数据的对象

type Verification

type Verification struct {
	Nonce []byte // 序列号,要求前后端一致
	Code  Code   // 验证码
	Addr  string // 表示账号的地址(mail_addr|phone_num)
}

Verification 表示一个验证请求

Jump to

Keyboard shortcuts

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