// Copyright (c) 2017-present Mattermost, Inc. All Rights Reserved. // See License.txt for license information. package model import "net/http" const ( TOKEN_SIZE = 64 MAX_TOKEN_EXIPRY_TIME = 1000 * 60 * 60 * 24 // 24 hour TOKEN_TYPE_OAUTH = "oauth" ) 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 }