MCPcopy Create free account
hub / github.com/GoSimplicity/LinkMe / RefreshToken

Method RefreshToken

internal/api/user.go:129–154  ·  view source on GitHub ↗

RefreshToken 刷新令牌

(ctx *gin.Context)

Source from the content-addressed store, hash-verified

127
128// RefreshToken 刷新令牌
129func (uh *UserHandler) RefreshToken(ctx *gin.Context) {
130 var req req.RefreshTokenReq
131 if err := ctx.ShouldBindJSON(&req); err != nil {
132 apiresponse.ErrorWithMessage(ctx, "无效的请求参数")
133 return
134 }
135
136 var rc ijwt.RefreshClaims
137
138 // 验证refresh token
139 if ok, claims, err := uh.ijwt.VerifyRefreshToken(ctx, req.RefreshToken); !ok || err != nil {
140 apiresponse.ErrorWithMessage(ctx, UserRefreshTokenFailure)
141 return
142 } else {
143 rc = *claims
144 }
145
146 // 刷新令牌
147 tokenStr, err := uh.ijwt.SetJWTToken(ctx, rc.Uid, rc.Ssid)
148 if err != nil {
149 apiresponse.ErrorWithMessage(ctx, UserRefreshTokenFailure)
150 return
151 }
152
153 apiresponse.SuccessWithData(ctx, tokenStr)
154}
155
156// SendSMS 发送短信验证码
157func (uh *UserHandler) SendSMS(ctx *gin.Context) {

Callers

nothing calls this directly

Calls 4

ErrorWithMessageFunction · 0.92
SuccessWithDataFunction · 0.92
VerifyRefreshTokenMethod · 0.65
SetJWTTokenMethod · 0.65

Tested by

no test coverage detected