auth.go
2.1 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
package controllers
import (
"encoding/json"
"oppmg/common/log"
"oppmg/protocol"
serveauth "oppmg/services/auth"
"oppmg/storage/redisdata"
)
type AuthController struct {
BaseController
}
//URLMapping 实现ControllerInterface中的URLMapping
func (c *AuthController) URLMapping() {
}
// RefreshToken ....
// @router /refresh_token [get]
func (c *AuthController) RefreshToken() {
log.Debug("运行cotrollers")
var msg *protocol.ResponseMessage
defer func() {
c.ResposeJson(msg)
}()
// data, commErr := auth.GetAccessToken(param)
// msg = protocol.NewReturnResponse(data, commErr)
return
}
// Login 登录
// @router /login [post]
func (c *AuthController) Login() {
var msg *protocol.ResponseMessage
defer func() {
c.ResposeJson(msg)
}()
var param protocol.RequestLogin
if err := json.Unmarshal(c.Ctx.Input.RequestBody, ¶m); err != nil {
log.Error("json 解析失败", err)
msg = protocol.BadRequestParam("1")
return
}
if len(param.Account) == 0 || len(param.Password) == 0 {
msg = protocol.BadRequestParam("10021")
return
}
logintoken, err := serveauth.LoginAuthByPassword(param.Account, param.Password)
if err != nil {
msg = protocol.NewReturnResponse(nil, err)
return
}
err = serveauth.ResetLoginToken(logintoken)
msg = protocol.NewReturnResponse(logintoken, err)
return
}
//ChangeCompany 切换公司
//@Router /change_company [post]
func (c *AuthController) ChangeCompany() {
var msg *protocol.ResponseMessage
defer func() {
c.ResposeJson(msg)
}()
var param protocol.RequestSwapCompany
if err := json.Unmarshal(c.Ctx.Input.RequestBody, ¶m); err != nil {
log.Error("json 解析失败", err)
msg = protocol.BadRequestParam("1")
return
}
userid := c.GetUserId()
if param.CompanyId <= 0 {
msg = protocol.BadRequestParam("1")
return
}
logintoken, err := serveauth.ChangeLoginToken(userid, param.CompanyId)
if err != nil {
msg = protocol.NewReturnResponse(nil, err)
return
}
err = redisdata.SetLoginToken(logintoken, userid)
if err != nil {
log.Error("redisdata.SetLoginToken err:%s", err)
}
msg = protocol.NewReturnResponse(logintoken, err)
return
}