feat: fix issues
This commit is contained in:
@@ -1,7 +1,6 @@
|
||||
package http
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"net/url"
|
||||
"time"
|
||||
|
||||
@@ -13,7 +12,6 @@ import (
|
||||
"quyun/providers/wechat"
|
||||
|
||||
"github.com/gofiber/fiber/v3"
|
||||
gonanoid "github.com/matoous/go-nanoid/v2"
|
||||
"github.com/pkg/errors"
|
||||
log "github.com/sirupsen/logrus"
|
||||
)
|
||||
@@ -43,6 +41,12 @@ func (ctl *auth) Login(ctx fiber.Ctx, code, state, redirect string) error {
|
||||
}
|
||||
log.Debugf("tokenInfo %+v", token)
|
||||
|
||||
stableToken, err := ctl.wechat.GetStableAccessToken()
|
||||
if err != nil {
|
||||
return errors.Wrap(err, "failed to get stable access token")
|
||||
}
|
||||
log.Infof("stableToken %+v", stableToken)
|
||||
|
||||
authUserInfo, err := ctl.wechat.AuthorizeUserInfo(token.AccessToken, token.Openid)
|
||||
if err != nil {
|
||||
return errors.Wrap(err, "failed to get user info")
|
||||
@@ -51,10 +55,11 @@ func (ctl *auth) Login(ctx fiber.Ctx, code, state, redirect string) error {
|
||||
log.Debugf("Auth User Info: %+v", authUserInfo)
|
||||
|
||||
userModel := &model.Users{
|
||||
Status: fields.UserStatusOk,
|
||||
OpenID: token.GetOpenID(),
|
||||
Username: fmt.Sprintf("u_%s", gonanoid.MustGenerate(salt, 8)),
|
||||
Avatar: nil,
|
||||
Status: fields.UserStatusOk,
|
||||
OpenID: token.GetOpenID(),
|
||||
// Username: fmt.Sprintf("u_%s", gonanoid.MustGenerate(salt, 8)),
|
||||
Username: authUserInfo.Nickname,
|
||||
Avatar: &authUserInfo.Headimgurl,
|
||||
Metas: fields.ToJson(fields.UserMetas{
|
||||
City: authUserInfo.City,
|
||||
Country: authUserInfo.Country,
|
||||
@@ -65,11 +70,13 @@ func (ctl *auth) Login(ctx fiber.Ctx, code, state, redirect string) error {
|
||||
Sex: authUserInfo.Sex,
|
||||
}),
|
||||
AuthToken: fields.ToJson(fields.UserAuthToken{
|
||||
AccessToken: token.AccessToken,
|
||||
ExpiresAt: time.Now().Add(time.Second * time.Duration(token.ExpiresIn)),
|
||||
IsSnapshotuser: token.IsSnapshotuser,
|
||||
RefreshToken: token.RefreshToken,
|
||||
Scope: token.Scope,
|
||||
StableAccessToken: stableToken.AccessToken,
|
||||
StableExpiresAt: time.Now().Add(time.Second * time.Duration(stableToken.ExpiresIn)),
|
||||
AccessToken: token.AccessToken,
|
||||
ExpiresAt: time.Now().Add(time.Second * time.Duration(token.ExpiresIn)),
|
||||
IsSnapshotuser: token.IsSnapshotuser,
|
||||
RefreshToken: token.RefreshToken,
|
||||
Scope: token.Scope,
|
||||
}),
|
||||
}
|
||||
user, err := models.Users.GetUserByOpenIDOrCreate(ctx.Context(), token.GetOpenID(), userModel)
|
||||
|
||||
Reference in New Issue
Block a user