Documentation ¶
Index ¶
Constants ¶
View Source
const (
AUTH_COOKIE_NAME = "token"
)
View Source
const (
AppName = "users"
)
View Source
const (
REQUEST_CTX_TOKEN_KEY = "token"
)
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type CreateUserRequest ¶
type CreateUserRequest struct { Username string `json:"username" validate:"required"` Password string `json:"password" validate:"required"` }
func NewCreateUserRequest ¶
func NewCreateUserRequest() *CreateUserRequest
func (*CreateUserRequest) Validate ¶
func (r *CreateUserRequest) Validate() error
type DESCRIBE_BY ¶
type DESCRIBE_BY int
const ( DESCRIBE_BY_NAME DESCRIBE_BY = iota DESCRIBE_BY_ID )
type DescribeUserRequest ¶
type DescribeUserRequest struct { DescribeBy DESCRIBE_BY DescribeValue string }
func NewDescribeUserRequestById ¶
func NewDescribeUserRequestById(uid int) *DescribeUserRequest
func NewDescribeUserRequestByName ¶
func NewDescribeUserRequestByName(name string) *DescribeUserRequest
type LoginRequest ¶
type LoginRequest struct {
*CreateUserRequest
}
func NewLoginRequest ¶
func NewLoginRequest() *LoginRequest
type Service ¶
type Service interface { // 用户的创建 CreateUser(context.Context, *CreateUserRequest) (*User, error) // 查询用户详情 DescribeUser(context.Context, *DescribeUserRequest) (*User, error) // 用户登录接口 Login(context.Context, *LoginRequest) (*Token, error) // 校验用户Token ValiateToken(context.Context, *ValiateTokenRequest) (*Token, error) }
type Token ¶
type User ¶
type User struct { *common.Meta *CreateUserRequest }
func NewDefaultUser ¶
func NewDefaultUser() *User
func NewUser ¶
func NewUser(req *CreateUserRequest) *User
func (*User) BuildHashedPassword ¶
将明文密码变成一个Hash 密码 ---> hash 是一一对应, 彩虹表: hash ---> pass 生成是很少这样方式的, 加盐
password ---> bash salt.password --> salt.hash password + salt ---> salt.hash == salt/password
func (*User) CheckPassord ¶
type ValiateTokenRequest ¶
type ValiateTokenRequest struct {
AccessToken string
}
func NewValiateTokenRequest ¶
func NewValiateTokenRequest(ak string) *ValiateTokenRequest
Click to show internal directories.
Click to hide internal directories.