Creating common token store and moving email invites and verification to it (#6213)
Этот коммит содержится в:
коммит произвёл
Joram Wilander
родитель
0e007e344b
Коммит
9a87bb3af6
39
model/token.go
Обычный файл
39
model/token.go
Обычный файл
@@ -0,0 +1,39 @@
|
||||
// Copyright (c) 2017-present Mattermost, Inc. All Rights Reserved.
|
||||
// See License.txt for license information.
|
||||
|
||||
package model
|
||||
|
||||
import "net/http"
|
||||
|
||||
const (
|
||||
TOKEN_SIZE = 128
|
||||
MAX_TOKEN_EXIPRY_TIME = 1000 * 60 * 60 * 24 // 24 hour
|
||||
)
|
||||
|
||||
type Token struct {
|
||||
Token string
|
||||
CreateAt int64
|
||||
Type string
|
||||
Extra string
|
||||
}
|
||||
|
||||
func NewToken(tokentype, extra string) *Token {
|
||||
return &Token{
|
||||
Token: NewRandomString(TOKEN_SIZE),
|
||||
CreateAt: GetMillis(),
|
||||
Type: tokentype,
|
||||
Extra: extra,
|
||||
}
|
||||
}
|
||||
|
||||
func (t *Token) IsValid() *AppError {
|
||||
if len(t.Token) != TOKEN_SIZE {
|
||||
return NewAppError("Token.IsValid", "model.token.is_valid.size", nil, "", http.StatusInternalServerError)
|
||||
}
|
||||
|
||||
if t.CreateAt == 0 {
|
||||
return NewAppError("Token.IsValid", "model.token.is_valid.expiry", nil, "", http.StatusInternalServerError)
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
Ссылка в новой задаче
Block a user