更新
This commit is contained in:
1 parent
5718a00e31
commit
1850ac640e
226 files changed
+37772
-12071
No files matched your search
@@ -9,6 +9,7 @@ import (
|
||||
"time"
|
||||
|
||||
"server/models"
|
||||
"server/pkg/identity"
|
||||
"server/pkg/jwtutil"
|
||||
"server/services"
|
||||
|
||||
@@ -22,21 +23,10 @@ type QiniuUploadController struct {
|
||||
beego.Controller
|
||||
}
|
||||
|
||||
// platformClaims 获取平台端 JWT claims
|
||||
// platformClaims 存储配置与七牛凭证只挂在 /platform 下,必须是平台端令牌。
|
||||
// 此前只解令牌不判端,任意端的合法令牌都能换出上传凭证并写入文件记录。
|
||||
func (c *QiniuUploadController) platformClaims() (*jwtutil.Claims, error) {
|
||||
auth := c.Ctx.Request.Header.Get("Authorization")
|
||||
if auth == "" {
|
||||
return nil, fmt.Errorf("未登录")
|
||||
}
|
||||
parts := strings.Split(auth, " ")
|
||||
if len(parts) != 2 || parts[0] != "Bearer" {
|
||||
return nil, fmt.Errorf("token 格式错误")
|
||||
}
|
||||
claims, err := jwtutil.ParseToken(parts[1])
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("token 无效")
|
||||
}
|
||||
return claims, nil
|
||||
return identity.Claims(c.Ctx.Request.Header.Get("Authorization"), identity.EndPlatform)
|
||||
}
|
||||
|
||||
// effectiveTid 获取有效的租户 ID
|
||||
@@ -74,7 +64,8 @@ func (c *QiniuUploadController) ParseJSON(v interface{}) error {
|
||||
func (c *QiniuUploadController) GetUploadToken() {
|
||||
_, err := c.platformClaims()
|
||||
if err != nil {
|
||||
c.jsonErr(401, 401, err.Error())
|
||||
code := identity.Status(err)
|
||||
c.jsonErr(code, code, err.Error())
|
||||
return
|
||||
}
|
||||
|
||||
@@ -123,7 +114,8 @@ func (c *QiniuUploadController) GetUploadToken() {
|
||||
func (c *QiniuUploadController) SaveFileRecord() {
|
||||
claims, err := c.platformClaims()
|
||||
if err != nil {
|
||||
c.jsonErr(401, 401, err.Error())
|
||||
code := identity.Status(err)
|
||||
c.jsonErr(code, code, err.Error())
|
||||
return
|
||||
}
|
||||
tid := c.effectiveTid(claims)
|
||||
@@ -231,7 +223,8 @@ func (c *QiniuUploadController) SaveFileRecord() {
|
||||
func (c *QiniuUploadController) GetStorageConfig() {
|
||||
_, err := c.platformClaims()
|
||||
if err != nil {
|
||||
c.jsonErr(401, 401, err.Error())
|
||||
code := identity.Status(err)
|
||||
c.jsonErr(code, code, err.Error())
|
||||
return
|
||||
}
|
||||
|
||||
|
||||
Reference in new issue
Block a user