token

package
v1.0.0 Latest Latest
Warning

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

Go to latest
Published: Jul 18, 2020 License: MIT Imports: 9 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	AppSecret        = "v2ray"
	AppSecretRefresh = "v2rayRefresh"
)

AppSecret .

Functions

func CreateAuth

func CreateAuth(userID uint64, token *Token) (err error)

CreateAuth 根据用户 id 和自定义 token 结构 ,存入到 redis 中。

func DeleteAuth

func DeleteAuth(givenUUID string) (int64, error)

DeleteAuth 删除认证

func ExtractRefreshTokenMetadata

func ExtractRefreshTokenMetadata(refreshToken string) (userID uint64, err error)

ExtractRefreshTokenMetadata refresh

func ExtractToken

func ExtractToken(r *http.Request) string

ExtractToken 从 requset 对象中解析出 token 字符串

func FetchAuth

func FetchAuth(auth *AccessDetails) (userID uint64, err error)

FetchAuth 获取认证

func ValidToken

func ValidToken(r *http.Request) (err error)

ValidToken 验证 token 是否有效

func ValidWSToken

func ValidWSToken(r *http.Request) (err error)

ValidWSToken 验证 websocket 中的 token合法性。

func VerifyToken

func VerifyToken(r *http.Request) (token *jwt.Token, err error)

VerifyToken 验证 token 字符串的合法性

Types

type AccessDetails

type AccessDetails struct {
	AccessUUID string
	UserID     uint64
}

AccessDetails 访问令牌的键值对

func ExtractTokenMetadata

func ExtractTokenMetadata(r *http.Request) (access *AccessDetails, err error)

ExtractTokenMetadata 提取 token 元数据用于验证是否正确

type Token

type Token struct {
	AccessToken  string //访问令牌
	AccessUUID   string // 存储在 redis 中访问令牌的唯一 id
	RefreshToken string // 刷新令牌
	RefreshUUID  string // 存储在 redis 中刷新令牌的唯一 id
	AtExpires    int64  // 访问令牌过期时间,一般为 15 分钟。
	RtExpires    int64  // 当访问令牌过期后,可以使用刷新令牌来重拾。刷新令牌过期时间,一般为 7 天。
}

Token 基于 jwt token 的认证结构

func NewToken

func NewToken(userID uint64) (token *Token, err error)

NewToken 根据登录成功后的用户 id,创建 token。

Jump to

Keyboard shortcuts

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