|
@@ -1,8 +1,12 @@
|
|
|
package gn
|
|
|
|
|
|
import (
|
|
|
+ "eta_gn/eta_bridge/models/eta"
|
|
|
"eta_gn/eta_bridge/models/response"
|
|
|
+ "eta_gn/eta_bridge/services"
|
|
|
"eta_gn/eta_bridge/services/gn"
|
|
|
+ "fmt"
|
|
|
+ "time"
|
|
|
)
|
|
|
|
|
|
// LoginEta
|
|
@@ -13,53 +17,52 @@ import (
|
|
|
// @return resp response.LoginResp
|
|
|
// @return err error
|
|
|
// @return errMsg string
|
|
|
-func LoginEta(code string) (resp response.GnUserResp, err error, errMsg string) {
|
|
|
- tokenResp, err := gn.GetToken(code)
|
|
|
- if err != nil {
|
|
|
+// func LoginEta(code string) (resp response.GnUserResp, err error, errMsg string) {
|
|
|
+func LoginEta(code string) (resp response.LoginResp, err error, errMsg string) {
|
|
|
+ tokenResp, e := gn.GetToken(code)
|
|
|
+ if e != nil {
|
|
|
+ err = fmt.Errorf("获取AccessToken失败, %v", e)
|
|
|
return
|
|
|
}
|
|
|
-
|
|
|
- //// 获取eta用户信息
|
|
|
- //adminInfo, err := eta.GetSysUserByOutId(tokenResp.Uid)
|
|
|
- //if err != nil {
|
|
|
- // return
|
|
|
- //}
|
|
|
+ accessToken := tokenResp.AccessToken
|
|
|
|
|
|
// 获取用户信息
|
|
|
- res, err := gn.GetUserInfo(code, tokenResp.AccessToken)
|
|
|
- if err != nil {
|
|
|
+ res, e := gn.GetUserInfo(code, accessToken)
|
|
|
+ if e != nil {
|
|
|
+ err = fmt.Errorf("获取用户基础信息失败, Err: %v, Code: %s, Token: %s", e, code, accessToken)
|
|
|
+ return
|
|
|
+ }
|
|
|
+ //resp.Sub = res.Sub
|
|
|
+ //resp.PreferredUsername = res.PreferredUsername
|
|
|
+ //resp.Name = res.Name
|
|
|
+ //resp.FamilyName = res.FamilyName
|
|
|
+ //resp.GivenName = res.GivenName
|
|
|
+
|
|
|
+ // 获取eta用户信息
|
|
|
+ adminInfo, e := eta.GetSysUserByAdminName(res.PreferredUsername)
|
|
|
+ if e != nil {
|
|
|
+ err = fmt.Errorf("用户不存在, UserName: %s", res.PreferredUsername)
|
|
|
return
|
|
|
}
|
|
|
- resp.Sub = res.Sub
|
|
|
- resp.PreferredUsername = res.PreferredUsername
|
|
|
- resp.Name = res.Name
|
|
|
- resp.FamilyName = res.FamilyName
|
|
|
- resp.GivenName = res.GivenName
|
|
|
|
|
|
- //// 获取eta用户信息
|
|
|
- //adminInfo, err := eta.GetSysUserByAdminName(userInfoResp.LoginName)
|
|
|
- //if err != nil {
|
|
|
- // return
|
|
|
- //}
|
|
|
- //
|
|
|
- //// 生成登录session
|
|
|
- //resp, session, err, errMsg := services.CreateEtaSession(adminInfo)
|
|
|
- //if err != nil {
|
|
|
- // return
|
|
|
- //}
|
|
|
- //
|
|
|
- //// 记录两方session的绑定信息
|
|
|
- //thirdSession := &eta.SysThirdSession{
|
|
|
- // ID: 0,
|
|
|
- // SysUserID: uint64(session.SysUserId),
|
|
|
- // UserName: session.UserName,
|
|
|
- // AccessToken: session.AccessToken,
|
|
|
- // ThirdAccessToken: tokenResp.AccessToken,
|
|
|
- // //ThirdRefreshToken: tokenResp.RefreshToken,
|
|
|
- // ThirdExpiredTime: time.Now().Add(time.Duration(tokenResp.ExpiresIn-100) * time.Second),
|
|
|
- // CreatedTime: time.Now(),
|
|
|
- // LastUpdatedTime: time.Now(),
|
|
|
- //}
|
|
|
- //err = eta.AddSysThirdSession(thirdSession)
|
|
|
+ // 生成登录session
|
|
|
+ sessionResp, session, e, _ := services.CreateEtaSession(adminInfo)
|
|
|
+ if e != nil {
|
|
|
+ err = fmt.Errorf("登录失败, %v", e)
|
|
|
+ return
|
|
|
+ }
|
|
|
+ resp = sessionResp
|
|
|
+
|
|
|
+ // 记录两方session的绑定信息
|
|
|
+ thirdSession := &eta.SysThirdSession{
|
|
|
+ SysUserID: uint64(session.SysUserId),
|
|
|
+ UserName: session.UserName,
|
|
|
+ AccessToken: session.AccessToken,
|
|
|
+ ThirdAccessToken: tokenResp.AccessToken,
|
|
|
+ ThirdExpiredTime: time.Now().Add(time.Duration(tokenResp.ExpiresIn-100) * time.Second),
|
|
|
+ CreatedTime: time.Now(),
|
|
|
+ LastUpdatedTime: time.Now(),
|
|
|
+ }
|
|
|
+ err = eta.AddSysThirdSession(thirdSession)
|
|
|
return
|
|
|
}
|