auth.go 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  1. package xiangyu
  2. import (
  3. "eta/eta_bridge/models/eta"
  4. "eta/eta_bridge/models/response"
  5. "eta/eta_bridge/services"
  6. "eta/eta_bridge/services/xiangyu"
  7. "fmt"
  8. "time"
  9. )
  10. // LoginEta
  11. // @Description: 获取eta的session
  12. // @author: Roc
  13. // @datetime 2024-01-23 17:44:15
  14. // @param code string
  15. // @return resp response.LoginResp
  16. // @return err error
  17. // @return errMsg string
  18. func LoginEta(code string) (resp response.LoginResp, err error, errMsg string) {
  19. // 获取xiangyu token
  20. tokenResp, err := xiangyu.GetToken(code)
  21. if err != nil {
  22. return
  23. }
  24. // 获取eta用户信息
  25. adminInfo, err := eta.GetSysUserByOutId(tokenResp.Uid)
  26. if err != nil {
  27. return
  28. }
  29. // 生成登录session
  30. resp, session, err, errMsg := services.CreateEtaSession(adminInfo)
  31. if err != nil {
  32. return
  33. }
  34. // 记录两方session的绑定信息
  35. thirdSession := &eta.SysThirdSession{
  36. ID: 0,
  37. SysUserID: uint64(session.SysUserId),
  38. UserName: session.UserName,
  39. AccessToken: session.AccessToken,
  40. ThirdAccessToken: tokenResp.AccessToken,
  41. ThirdRefreshToken: tokenResp.RefreshToken,
  42. ThirdExpiredTime: time.Now().Add(time.Duration(tokenResp.ExpiresIn) * time.Second),
  43. CreatedTime: time.Now(),
  44. LastUpdatedTime: time.Now(),
  45. }
  46. eta.AddSysThirdSession(thirdSession)
  47. return
  48. }
  49. func GetToken(code string) (err error) {
  50. fmt.Println(xiangyu.GetToken(code))
  51. return
  52. }
  53. func GetUserInfo(token string) (err error) {
  54. fmt.Println(xiangyu.GetUserInfo(token))
  55. return
  56. }
  57. func CheckToken(token string) (err error) {
  58. fmt.Println(xiangyu.CheckToken(token))
  59. return
  60. }
  61. func GetTokenInfo(token string) (err error) {
  62. fmt.Println(xiangyu.GetTokenInfo(token))
  63. return
  64. }
  65. func RefreshToken(token string) (err error) {
  66. fmt.Println(xiangyu.RefreshToken(token))
  67. return
  68. }
  69. func RevokeToken(token string) (err error) {
  70. fmt.Println(xiangyu.RevokeToken(token))
  71. return
  72. }