mirror of https://github.com/qwqdanchun/nps.git
43 lines
803 B
Go
43 lines
803 B
Go
package controllers
|
|
|
|
import (
|
|
"encoding/hex"
|
|
"time"
|
|
|
|
"ehang.io/nps/lib/crypt"
|
|
"github.com/astaxie/beego"
|
|
)
|
|
|
|
type AuthController struct {
|
|
beego.Controller
|
|
}
|
|
|
|
func (s *AuthController) GetAuthKey() {
|
|
m := make(map[string]interface{})
|
|
defer func() {
|
|
s.Data["json"] = m
|
|
s.ServeJSON()
|
|
}()
|
|
if cryptKey := beego.AppConfig.String("auth_crypt_key"); len(cryptKey) != 16 {
|
|
m["status"] = 0
|
|
return
|
|
} else {
|
|
b, err := crypt.AesEncrypt([]byte(beego.AppConfig.String("auth_key")), []byte(cryptKey))
|
|
if err != nil {
|
|
m["status"] = 0
|
|
return
|
|
}
|
|
m["status"] = 1
|
|
m["crypt_auth_key"] = hex.EncodeToString(b)
|
|
m["crypt_type"] = "aes cbc"
|
|
return
|
|
}
|
|
}
|
|
|
|
func (s *AuthController) GetTime() {
|
|
m := make(map[string]interface{})
|
|
m["time"] = time.Now().Unix()
|
|
s.Data["json"] = m
|
|
s.ServeJSON()
|
|
}
|