feat: custom token expires in

pull/1831/head
Noah Hsu 2022-09-27 14:05:00 +08:00
parent b7479651e1
commit 9d9c79179b
3 changed files with 18 additions and 19 deletions

View File

@ -1,7 +1,6 @@
package bootstrap package bootstrap
import ( import (
"io/ioutil"
"os" "os"
"path/filepath" "path/filepath"
@ -25,7 +24,7 @@ func InitConfig() {
log.Fatalf("failed to create default config file") log.Fatalf("failed to create default config file")
} }
} else { } else {
configBytes, err := ioutil.ReadFile(flags.Config) configBytes, err := os.ReadFile(flags.Config)
if err != nil { if err != nil {
log.Fatalf("reading config file error: %+v", err) log.Fatalf("reading config file error: %+v", err)
} }

View File

@ -32,32 +32,32 @@ type LogConfig struct {
} }
type Config struct { type Config struct {
Force bool `json:"force" env:"FORCE"` Force bool `json:"force" env:"FORCE"`
Address string `json:"address" env:"ADDR"` Address string `json:"address" env:"ADDR"`
Port int `json:"port" env:"PORT"` Port int `json:"port" env:"PORT"`
SiteURL string `json:"site_url" env:"SITE_URL"` SiteURL string `json:"site_url" env:"SITE_URL"`
Cdn string `json:"cdn" env:"CDN"` Cdn string `json:"cdn" env:"CDN"`
JwtSecret string `json:"jwt_secret" env:"JWT_SECRET"` JwtSecret string `json:"jwt_secret" env:"JWT_SECRET"`
Database Database `json:"database"` TokenExpiresIn int `json:"token_expires_in" env:"TOKEN_EXPIRES_IN"`
Scheme Scheme `json:"scheme"` Database Database `json:"database"`
TempDir string `json:"temp_dir" env:"TEMP_DIR"` Scheme Scheme `json:"scheme"`
Log LogConfig `json:"log"` TempDir string `json:"temp_dir" env:"TEMP_DIR"`
Log LogConfig `json:"log"`
} }
func DefaultConfig() *Config { func DefaultConfig() *Config {
return &Config{ return &Config{
Address: "0.0.0.0", Address: "0.0.0.0",
Port: 5244, Port: 5244,
JwtSecret: random.String(16), JwtSecret: random.String(16),
Cdn: "", TokenExpiresIn: 48,
TempDir: "data/temp", TempDir: "data/temp",
Database: Database{ Database: Database{
Type: "sqlite3", Type: "sqlite3",
Port: 0, Port: 0,
TablePrefix: "x_", TablePrefix: "x_",
DBFile: "data/data.db", DBFile: "data/data.db",
}, },
// CaCheExpiration: 30,
Log: LogConfig{ Log: LogConfig{
Enable: true, Enable: true,
Name: "log/log.log", Name: "log/log.log",

View File

@ -18,7 +18,7 @@ func GenerateToken(username string) (tokenString string, err error) {
claim := UserClaims{ claim := UserClaims{
Username: username, Username: username,
RegisteredClaims: jwt.RegisteredClaims{ RegisteredClaims: jwt.RegisteredClaims{
ExpiresAt: jwt.NewNumericDate(time.Now().Add(12 * time.Hour)), ExpiresAt: jwt.NewNumericDate(time.Now().Add(48 * time.Hour)),
IssuedAt: jwt.NewNumericDate(time.Now()), IssuedAt: jwt.NewNumericDate(time.Now()),
NotBefore: jwt.NewNumericDate(time.Now()), NotBefore: jwt.NewNumericDate(time.Now()),
}} }}