Simple Token authentication process

  • Go Web Token for the storage and verification.
package config

import "time"

// 最大生命周期
const maxLife = 10 * time.Minute

// 数据存储
var tokens map[time.Time]string

// 添加 token
func Add(token string) {

	if tokens == nil {
		tokens = map[time.Time]string{}
	}
	tokens[time.Now()] = token
}

// 验证 token
func Auth(token string) bool {

	for k, v := range tokens {
		// 清理
		if int64(k.Sub(time.Now()).Minutes()) > int64(maxLife) {
			delete(tokens, k)
		}
		// 比较
		if v == token {
			delete(tokens, k)
			return true
		}
	}
	return false
}

Guess you like

Origin www.cnblogs.com/rebootok/p/12670275.html