Merge branch 'develop' of gitee.com:fusenpack/fusenapi into develop
This commit is contained in:
@@ -6,7 +6,6 @@ import (
|
||||
"fusenapi/utils/auth"
|
||||
"fusenapi/utils/basic"
|
||||
"fusenapi/utils/wevent"
|
||||
"log"
|
||||
"time"
|
||||
|
||||
"context"
|
||||
@@ -90,20 +89,18 @@ func (l *UserEmailConfirmationLogic) UserEmailConfirmation(req *types.RequestEma
|
||||
// 返回值必须调用Set重新返回, resp可以空指针调用 resp.SetStatus(basic.CodeOK, data)
|
||||
// userinfo 传入值时, 一定不为null
|
||||
|
||||
token, err := l.svcCtx.RegisterTokenManger.Decrypt(req.Token)
|
||||
token, err := l.svcCtx.OAuthTokenManger.Decrypt(req.Token)
|
||||
if err != nil {
|
||||
logx.Error(err)
|
||||
return resp.SetStatus(basic.CodeOAuthRegisterTokenErr)
|
||||
}
|
||||
|
||||
log.Println("aaaa", "接收校验token", token.Platform)
|
||||
|
||||
switch token.OperateType {
|
||||
case auth.OpTypeRegister:
|
||||
if time.Since(token.CreateAt) >= 24*time.Hour {
|
||||
return resp.SetStatus(basic.CodeOAuthConfirmationTimeoutErr)
|
||||
}
|
||||
|
||||
logx.Info(token.Platform)
|
||||
switch token.Platform {
|
||||
case "google":
|
||||
// 谷歌平台的注册流程
|
||||
|
||||
@@ -47,7 +47,7 @@ func (l *UserEmailRegisterLogic) UserEmailRegister(req *types.RequestEmailRegist
|
||||
return resp.SetStatus(basic.CodeOAuthEmailErr)
|
||||
}
|
||||
|
||||
token, err := l.svcCtx.RegisterTokenManger.Decrypt(req.RegisterToken)
|
||||
token, err := l.svcCtx.OAuthTokenManger.Decrypt(req.RegisterToken)
|
||||
if err != nil {
|
||||
logx.Error(err)
|
||||
return resp.SetStatus(basic.CodeOAuthRegisterTokenErr)
|
||||
@@ -62,7 +62,7 @@ func (l *UserEmailRegisterLogic) UserEmailRegister(req *types.RequestEmailRegist
|
||||
token.Wid = req.Wid
|
||||
token.GuestId = userinfo.GuestId
|
||||
|
||||
clurl, err := l.svcCtx.RegisterTokenManger.Generate(token)
|
||||
clurl, err := l.svcCtx.OAuthTokenManger.Generate(token)
|
||||
if err != nil {
|
||||
logx.Error(err)
|
||||
return resp.SetStatus(basic.CodeOAuthRegisterTokenErr)
|
||||
|
||||
@@ -91,16 +91,19 @@ func (l *UserGoogleLoginLogic) UserGoogleLogin(req *types.RequestGoogleLogin, us
|
||||
}
|
||||
|
||||
l.registerInfo = &auth.RegisterToken{
|
||||
Id: googleId,
|
||||
|
||||
Password: base64.RawURLEncoding.EncodeToString(nonce),
|
||||
Platform: "google",
|
||||
OperateType: auth.OpTypeRegister,
|
||||
TraceId: uuid.NewString(),
|
||||
CreateAt: time.Now(),
|
||||
Extend: map[string]interface{}{
|
||||
"google_id": googleId,
|
||||
},
|
||||
}
|
||||
|
||||
l.isRegistered = false
|
||||
token, err := l.svcCtx.RegisterTokenManger.Encrypt(l.registerInfo)
|
||||
token, err := l.svcCtx.OAuthTokenManger.Encrypt(l.registerInfo)
|
||||
if err != nil {
|
||||
logx.Error(err)
|
||||
return resp.SetStatus(basic.CodeOAuthRegisterTokenErr)
|
||||
|
||||
@@ -43,7 +43,6 @@ func (l *UserRegisterLogic) UserRegister(req *types.RequestUserRegister, userinf
|
||||
|
||||
token := &auth.RegisterToken{
|
||||
OperateType: auth.OpTypeRegister,
|
||||
Id: 0,
|
||||
GuestId: userinfo.GuestId,
|
||||
Wid: req.Wid,
|
||||
Email: req.Email,
|
||||
@@ -51,9 +50,14 @@ func (l *UserRegisterLogic) UserRegister(req *types.RequestUserRegister, userinf
|
||||
Platform: "fusen",
|
||||
TraceId: uuid.NewString(),
|
||||
CreateAt: time.Now(),
|
||||
Extend: map[string]interface{}{
|
||||
"first_name": req.FirstName,
|
||||
"last_name": req.LastName,
|
||||
"resetaurant": req.Resetaurant,
|
||||
},
|
||||
}
|
||||
|
||||
clurl, err := l.svcCtx.RegisterTokenManger.Generate(token)
|
||||
clurl, err := l.svcCtx.OAuthTokenManger.Generate(token)
|
||||
if err != nil {
|
||||
logx.Error(err)
|
||||
return resp.SetStatus(basic.CodeOAuthRegisterTokenErr)
|
||||
|
||||
@@ -22,8 +22,8 @@ type ServiceContext struct {
|
||||
MysqlConn *gorm.DB
|
||||
AllModels *gmodel.AllModelsGen
|
||||
|
||||
RegisterTokenManger *auth.ConfirmationLink[auth.RegisterToken]
|
||||
ResetTokenManger *auth.ConfirmationLink[auth.ResetToken]
|
||||
OAuthTokenManger *auth.ConfirmationLink[auth.RegisterToken]
|
||||
ResetTokenManger *auth.ConfirmationLink[auth.ResetToken]
|
||||
}
|
||||
|
||||
func NewServiceContext(c config.Config) *ServiceContext {
|
||||
@@ -31,12 +31,12 @@ func NewServiceContext(c config.Config) *ServiceContext {
|
||||
// StateServer := shared.StartNode(c.ReplicaId, autoconfig.AutoGetAllServerConfig(), conn)
|
||||
registerAddress := fmt.Sprintf("%s/api/auth/email/confirmation", c.MainAddress)
|
||||
return &ServiceContext{
|
||||
Config: c,
|
||||
MysqlConn: conn,
|
||||
SharedState: nil,
|
||||
AllModels: gmodel.NewAllModels(initalize.InitMysql(c.SourceMysql)),
|
||||
RegisterTokenManger: auth.NewConfirmationLink[auth.RegisterToken](c.Auth.AccessSecret, registerAddress),
|
||||
ResetTokenManger: auth.NewConfirmationLink[auth.ResetToken](c.Auth.AccessSecret, registerAddress),
|
||||
Config: c,
|
||||
MysqlConn: conn,
|
||||
SharedState: nil,
|
||||
AllModels: gmodel.NewAllModels(initalize.InitMysql(c.SourceMysql)),
|
||||
OAuthTokenManger: auth.NewConfirmationLink[auth.RegisterToken](c.Auth.AccessSecret, registerAddress),
|
||||
ResetTokenManger: auth.NewConfirmationLink[auth.ResetToken](c.Auth.AccessSecret, registerAddress),
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -44,7 +44,7 @@ type RequestGoogleLogin struct {
|
||||
}
|
||||
|
||||
type RequestEmailConfirmation struct {
|
||||
Token string `query:"token"` // 操作Token
|
||||
Token string `form:"token"` // 操作Token
|
||||
}
|
||||
|
||||
type RequestEmailRegister struct {
|
||||
|
||||
Reference in New Issue
Block a user