Documentation ¶
Overview ¶
Package gouser 查找用户
Package gouser 登录并注册 ¶
Package gouser 注册方法 仅注册
Index ¶
- Constants
- Variables
- type Config
- type ModelUser
- type ModelUserAccessKey
- type ModelUserAuth
- type User
- func (user *User) BindAuth(authName string, v interface{}) error
- func (user *User) Clean() error
- func (user *User) DeleteAccessKey(accessKeyID int) error
- func (user *User) GenerateAccessKey(comment string, expireAts ...time.Time) (*UserAccessKey, error)
- func (user *User) GetAccessKeys(isAll bool) ([]*UserAccessKey, error)
- func (user *User) GetAuths() ([]*UserAuth, error)
- func (user *User) Login() (token string, deadline int64, err error)
- func (user *User) LoginWithFrom(from string) (token string, deadline int64, err error)
- func (user *User) Logout() error
- func (user *User) LogoutWithFrom(from string) error
- func (user *User) UnbindAuth(authName string) error
- func (user *User) UpdateAccessKeyComment(accessKeyID int, comment string) error
- func (user *User) UpdateAccessKeyExpireAt(accessKeyID int, expireAt *time.Time) error
- func (user *User) UpdateAuthInfo(authName, authExtra string) error
- func (user *User) UpdateEmail(email, code string) error
- func (user *User) UpdateEmailApplyCode() (code string, expire int, err error)
- func (user *User) UpdateInfo(nickname, avatar, extra *string) error
- func (user *User) UpdateMobile(mobile, code string) error
- func (user *User) UpdateMobileApplyCode(mobile string) (code string, expire, retry int, err error)
- func (user *User) UpdatePasswordApplyCode() (code string, expire int, err error)
- func (user *User) UpdatePasswordWithCode(rawPassword, code string) error
- func (user *User) UpdatePasswordWithPassword(oldRawPassword, newRawPassword string) error
- func (user *User) UpdateUID(uid string) error
- type UserAccessKey
- type UserAuth
- type UserData
- type UserMgr
- func (mgr *UserMgr) ApplyCode(expire int, args ...interface{}) (code string, expire0 int, err error)
- func (mgr *UserMgr) ApplyCodeAntiReplay(lockname string, expire, retry int, args ...interface{}) (code string, expire0, retry0 int, err error)
- func (mgr *UserMgr) EnsureTables() error
- func (mgr *UserMgr) FindUserByAny(any string) (bool, *User, error)
- func (mgr *UserMgr) FindUserByAuth(authName, authUID string) (bool, *User, error)
- func (mgr *UserMgr) FindUserByEmail(email string) (bool, *User, error)
- func (mgr *UserMgr) FindUserByMobile(mobile string) (bool, *User, error)
- func (mgr *UserMgr) FindUserByUID(uid string) (bool, *User, error)
- func (mgr *UserMgr) LoginAuth(authName string, v interface{}) (user *User, token string, deadline int64, err error)
- func (mgr *UserMgr) LoginAuthWithFrom(authName string, v interface{}, from string) (user *User, token string, deadline int64, err error)
- func (mgr *UserMgr) LoginLAPD(uid, rawPassword string) (user *User, token string, deadline int64, err error)
- func (mgr *UserMgr) LoginLAPDWithFrom(uid, rawPassword, from string) (user *User, token string, deadline int64, err error)
- func (mgr *UserMgr) LoginMobile(mobile, code string) (user *User, token string, deadline int64, err error)
- func (mgr *UserMgr) LoginMobileApplyCode(mobile string) (code string, expire, retry int, err error)
- func (mgr *UserMgr) LoginMobileWithFrom(mobile, code, from string) (user *User, token string, deadline int64, err error)
- func (mgr *UserMgr) LoginTourist() (user *User, token string, deadline int64, err error)
- func (mgr *UserMgr) LoginTouristWithFrom(from string) (user *User, token string, deadline int64, err error)
- func (mgr *UserMgr) RegisterAuth(authName string, v interface{}) (*User, error)
- func (mgr *UserMgr) RegisterEmail(email, code string) (*User, error)
- func (mgr *UserMgr) RegisterEmailApplyCode(email string) (code string, expire int, err error)
- func (mgr *UserMgr) RegisterLAPD(uid, rawPassword string) (*User, error)
- func (mgr *UserMgr) RegisterMobile(mobile, code string) (*User, error)
- func (mgr *UserMgr) RegisterMobileApplyCode(mobile string) (code string, expire, retry int, err error)
- func (mgr *UserMgr) RegisterTourist() (*User, error)
- func (mgr *UserMgr) SetAuthMgr(args ...authmgr.AuthMgr)
- func (mgr *UserMgr) SetGenerateAccessKey(arg func() string)
- func (mgr *UserMgr) SetGenerateCode(arg func() string)
- func (mgr *UserMgr) SetGenerateSign(arg func(accessKey string, data interface{}) string)
- func (mgr *UserMgr) SetGenerateUID(arg func() (uid, nickname, avatar, extra string))
- func (mgr *UserMgr) SetMLogName(name string)
- func (mgr *UserMgr) SetTableAccessKey(tableName, tableCreateSQL string) error
- func (mgr *UserMgr) SetTableAuth(tableName, tableCreateSQL string) error
- func (mgr *UserMgr) SetTableUser(tableName, tableCreateSQL string) error
- func (mgr *UserMgr) SetTokenMgr(arg tokenmgr.TokenMgr)
- func (mgr *UserMgr) TableNames() []string
- func (mgr *UserMgr) TablesCreateSQL() []string
- func (mgr *UserMgr) VerifyAuth(authName string, v interface{}) (authUID, authExtra string, err error)
- func (mgr *UserMgr) VerifyCode(code string, args ...interface{}) (bool, error)
- func (mgr *UserMgr) VerifySign(uid string, accessKeyID int, data interface{}, sign string) (ok bool, err error)
- func (mgr *UserMgr) VerifyToken(uid, token string) (ok bool, err error)
- func (mgr *UserMgr) VerifyTokenWithFrom(uid, from, token string) (ok bool, err error)
Constants ¶
const ( TableUser = `` /* 923-byte string literal not displayed */ TableUserAuth = `` /* 656-byte string literal not displayed */ TableUserAccessKey = `` /* 662-byte string literal not displayed */ )
sql table
Variables ¶
var ( ErrorNotFound = fmt.Errorf("not found") ErrorLocked = fmt.Errorf("locked") )
常用错误
Functions ¶
This section is empty.
Types ¶
type Config ¶ added in v1.0.1
type Config struct { TokenExpire int // token 超时时间 CodeExpire int // 验证码过期时间 CodeRetry int // 验证码重试间隔 IsEnableAccessKey bool // 是否支持访问密钥 }
Config ...
type ModelUser ¶ added in v1.0.1
type ModelUser struct { ID int `json:"id,omitempty"` UID string `json:"uid,omitempty"` Password string `json:"password,omitempty"` Email sql.NullString `json:"email,omitempty"` Mobile sql.NullString `json:"mobile,omitempty"` Nickname string `json:"nickname,omitempty"` Avatar string `json:"avatar,omitempty"` Extra string `json:"extra,omitempty"` LastLogin time.Time `json:"last_login,omitempty"` Created time.Time `json:"created,omitempty"` Updated time.Time `json:"updated,omitempty"` }
ModelUser 用户表
type ModelUserAccessKey ¶ added in v1.0.1
type ModelUserAccessKey struct { ID int `json:"id,omitempty"` AccessKey string `json:"access_key,omitempty"` UID string `json:"uid,omitempty"` // ModelUser UID ExpireAt sql.NullTime `json:"expire_at,omitempty"` Comment string `json:"comment,omitempty"` Created time.Time `json:"created,omitempty"` Updated time.Time `json:"updated,omitempty"` }
ModelUserAccessKey 访问密钥
type ModelUserAuth ¶ added in v1.0.1
type ModelUserAuth struct { ID int `json:"id,omitempty"` UID string `json:"uid,omitempty"` // ModelUser UID AuthName string `json:"auth_name,omitempty"` AuthUID string `json:"auth_uid,omitempty"` AuthExtra string `json:"auth_extra,omitempty"` Created time.Time `json:"created,omitempty"` Updated time.Time `json:"updated,omitempty"` }
ModelUserAuth 用户和第三方认证绑定表
type User ¶ added in v1.0.1
type User struct { *UserData // contains filtered or unexported fields }
User 用户
func (*User) DeleteAccessKey ¶ added in v1.0.1
DeleteAccessKey 删除一个 access key
func (*User) GenerateAccessKey ¶ added in v1.0.1
GenerateAccessKey 生成一个 access key
func (*User) GetAccessKeys ¶ added in v1.0.1
func (user *User) GetAccessKeys(isAll bool) ([]*UserAccessKey, error)
GetAccessKeys 获取accesskeys isAll 是否包含过期的访问秘钥
func (*User) LoginWithFrom ¶ added in v1.0.1
LoginWithFrom 登录 带来源
func (*User) LogoutWithFrom ¶ added in v1.0.1
LogoutWithFrom 登出 带来源
func (*User) UnbindAuth ¶ added in v1.0.1
UnbindAuth 解绑第三方认证
func (*User) UpdateAccessKeyComment ¶ added in v1.0.1
UpdateAccessKeyComment 更新一个 access key 的 comment
func (*User) UpdateAccessKeyExpireAt ¶ added in v1.0.1
UpdateAccessKeyExpireAt 更新一个 access key的超时设置 expireAt为空表示永久有效
func (*User) UpdateAuthInfo ¶ added in v1.0.1
UpdateAuthInfo 更新第三方认证信息
func (*User) UpdateEmail ¶ added in v1.0.1
UpdateEmail 更新邮箱
func (*User) UpdateEmailApplyCode ¶ added in v1.0.1
UpdateEmailApplyCode 更新邮箱申请验证码
func (*User) UpdateInfo ¶ added in v1.0.1
UpdateInfo 更新用户信息
func (*User) UpdateMobile ¶ added in v1.0.1
UpdateMobile 更新手机号
func (*User) UpdateMobileApplyCode ¶ added in v1.0.1
UpdateMobileApplyCode 更新手机号申请验证码
func (*User) UpdatePasswordApplyCode ¶ added in v1.0.1
UpdatePasswordApplyCode 更改密码申请验证码
func (*User) UpdatePasswordWithCode ¶ added in v1.0.1
UpdatePasswordWithCode 通过验证码更改密码
func (*User) UpdatePasswordWithPassword ¶ added in v1.0.1
UpdatePasswordWithPassword 通过旧密码更改密码
type UserAccessKey ¶ added in v1.0.1
type UserAccessKey struct { ID int `json:"id,omitempty"` AccessKey string `json:"access_key,omitempty"` ExpireAt int64 `json:"expire_at,omitempty"` Comment string `json:"comment,omitempty"` Created int64 `json:"created,omitempty"` }
UserAccessKey 访问密钥
type UserAuth ¶ added in v1.0.1
type UserAuth struct { ID int `json:"id,omitempty"` AuthName string `json:"auth_name,omitempty"` AuthUID string `json:"auth_uid,omitempty"` AuthExtra string `json:"auth_extra,omitempty"` Created int64 `json:"created,omitempty"` }
UserAuth 第三方认证
type UserData ¶ added in v1.0.1
type UserData struct { ID int `json:"id,omitempty"` UID string `json:"uid,omitempty"` Email string `json:"email,omitempty"` Mobile string `json:"mobile,omitempty"` Nickname string `json:"nickname,omitempty"` Avatar string `json:"avatar,omitempty"` Extra string `json:"extra,omitempty"` LastLogin int64 `json:"last_login,omitempty"` Created int64 `json:"created,omitempty"` }
UserData 用户数据
type UserMgr ¶ added in v1.0.1
type UserMgr struct {
// contains filtered or unexported fields
}
UserMgr 用户管理器
func (*UserMgr) ApplyCode ¶ added in v1.0.1
func (mgr *UserMgr) ApplyCode(expire int, args ...interface{}) (code string, expire0 int, err error)
ApplyCode 申请一个验证码, args用来区分场景
func (*UserMgr) ApplyCodeAntiReplay ¶ added in v1.0.1
func (mgr *UserMgr) ApplyCodeAntiReplay(lockname string, expire, retry int, args ...interface{}) (code string, expire0, retry0 int, err error)
ApplyCodeAntiReplay 申请一个防重放验证码, args用来区分场景
func (*UserMgr) EnsureTables ¶ added in v1.0.1
EnsureTables 确保sql表已建立
func (*UserMgr) FindUserByAny ¶ added in v1.0.1
FindUserByAny 根据用户名/邮箱/手机号 查找用户
func (*UserMgr) FindUserByAuth ¶ added in v1.0.1
FindUserByAuth 根据第三方认证 查找用户
func (*UserMgr) FindUserByEmail ¶ added in v1.0.1
FindUserByEmail 根据邮箱 查找用户
func (*UserMgr) FindUserByMobile ¶ added in v1.0.1
FindUserByMobile 根据手机号 查找用户
func (*UserMgr) FindUserByUID ¶ added in v1.0.1
FindUserByUID 根据用户名 查找用户
func (*UserMgr) LoginAuth ¶ added in v1.0.1
func (mgr *UserMgr) LoginAuth(authName string, v interface{}) (user *User, token string, deadline int64, err error)
LoginAuth 第三方登录
func (*UserMgr) LoginAuthWithFrom ¶ added in v1.0.1
func (mgr *UserMgr) LoginAuthWithFrom(authName string, v interface{}, from string) (user *User, token string, deadline int64, err error)
LoginAuthWithFrom 第三方登录 带来源
func (*UserMgr) LoginLAPD ¶ added in v1.0.1
func (mgr *UserMgr) LoginLAPD(uid, rawPassword string) (user *User, token string, deadline int64, err error)
LoginLAPD 密码登录
func (*UserMgr) LoginLAPDWithFrom ¶ added in v1.0.1
func (mgr *UserMgr) LoginLAPDWithFrom(uid, rawPassword, from string) (user *User, token string, deadline int64, err error)
LoginLAPDWithFrom 密码登录 带来源
func (*UserMgr) LoginMobile ¶ added in v1.0.1
func (mgr *UserMgr) LoginMobile(mobile, code string) (user *User, token string, deadline int64, err error)
LoginMobile 手机验证码登录
func (*UserMgr) LoginMobileApplyCode ¶ added in v1.0.1
LoginMobileApplyCode 手机验证码登录 申请验证码
func (*UserMgr) LoginMobileWithFrom ¶ added in v1.0.1
func (mgr *UserMgr) LoginMobileWithFrom(mobile, code, from string) (user *User, token string, deadline int64, err error)
LoginMobileWithFrom 手机验证码登录 带来源
func (*UserMgr) LoginTourist ¶ added in v1.0.1
LoginTourist 游客登录
func (*UserMgr) LoginTouristWithFrom ¶ added in v1.0.1
func (mgr *UserMgr) LoginTouristWithFrom(from string) (user *User, token string, deadline int64, err error)
LoginTouristWithFrom 游客登录 带来源
func (*UserMgr) RegisterAuth ¶ added in v1.0.1
RegisterAuth 第三方认证注册
func (*UserMgr) RegisterEmail ¶ added in v1.0.1
RegisterEmail 邮件用户注册
func (*UserMgr) RegisterEmailApplyCode ¶ added in v1.0.1
RegisterEmailApplyCode 邮件用户注册申请code
func (*UserMgr) RegisterLAPD ¶ added in v1.0.1
RegisterLAPD 密码用户注册
func (*UserMgr) RegisterMobile ¶ added in v1.0.1
RegisterMobile 手机用户注册
func (*UserMgr) RegisterMobileApplyCode ¶ added in v1.0.1
func (mgr *UserMgr) RegisterMobileApplyCode(mobile string) (code string, expire, retry int, err error)
RegisterMobileApplyCode 手机用户注册申请code
func (*UserMgr) RegisterTourist ¶ added in v1.0.1
RegisterTourist 游客注册
func (*UserMgr) SetAuthMgr ¶ added in v1.0.1
SetAuthMgr 设置第三方认证
func (*UserMgr) SetGenerateAccessKey ¶ added in v1.0.1
SetGenerateAccessKey 设置生成accesskey的方法
func (*UserMgr) SetGenerateCode ¶ added in v1.0.1
SetGenerateCode 设置生成验证码的方法
func (*UserMgr) SetGenerateSign ¶ added in v1.0.1
SetGenerateSign 设置根据accesskey计算sign的方法
func (*UserMgr) SetGenerateUID ¶ added in v1.0.1
SetGenerateUID 设置生成用户信息的方法 如果uid格式改变,可能需要修改sql表结构
func (*UserMgr) SetMLogName ¶ added in v1.0.1
SetMLogName 设置日志
func (*UserMgr) SetTableAccessKey ¶ added in v1.0.1
SetTableAccessKey 设置accessKey表表名和表结构
func (*UserMgr) SetTableAuth ¶ added in v1.0.1
SetTableAuth 设置第三方验证表表名和表结构
func (*UserMgr) SetTableUser ¶ added in v1.0.1
SetTableUser 设置用户表表名和表结构
func (*UserMgr) SetTokenMgr ¶ added in v1.0.1
SetTokenMgr 设置token管理器
func (*UserMgr) TableNames ¶ added in v1.0.1
TableNames 获得表名
func (*UserMgr) TablesCreateSQL ¶ added in v1.0.1
TablesCreateSQL 获得建表语句
func (*UserMgr) VerifyAuth ¶ added in v1.0.1
func (mgr *UserMgr) VerifyAuth(authName string, v interface{}) (authUID, authExtra string, err error)
VerifyAuth 验证第三方凭证
func (*UserMgr) VerifyCode ¶ added in v1.0.1
VerifyCode 申请验证码 args和ApplyCode时保持一致
func (*UserMgr) VerifySign ¶ added in v1.0.1
func (mgr *UserMgr) VerifySign(uid string, accessKeyID int, data interface{}, sign string) (ok bool, err error)
VerifySign 验证sign: sign由access key和请求数据(或请求数据部分字段)计算得到
func (*UserMgr) VerifyToken ¶ added in v1.0.1
VerifyToken 验证token