Files
crawlab/backend/services/user.go
2019-07-26 23:02:30 +08:00

46 lines
878 B
Go

package services
import (
"crawlab/constants"
"crawlab/model"
"crawlab/utils"
"github.com/apex/log"
"github.com/dgrijalva/jwt-go"
"github.com/spf13/viper"
"runtime/debug"
"time"
)
func InitUserService() error {
adminUser := model.User{
Username: "admin",
Password: utils.EncryptPassword("admin"),
Role: constants.RoleAdmin,
}
if err := adminUser.Add(); err != nil {
// pass
}
return nil
}
func GetToken(username string) (tokenStr string, err error) {
user, err := model.GetUserByUsername(username)
if err != nil {
log.Errorf(err.Error())
debug.PrintStack()
return
}
token := jwt.NewWithClaims(jwt.SigningMethodHS256, jwt.MapClaims{
"id": user.Id,
"username": user.Username,
"nbf": time.Now().Unix(),
})
tokenStr, err = token.SignedString([]byte(viper.GetString("server.secret")))
if err != nil {
return
}
return
}