This commit is contained in:
hero920103 committed 2026-10-19 01:13:17 +08:00
1 parent 5718a00e31
commit 1850ac640e
226 files changed
+37772 -12071

No files matched your search

+10 -17
View File
@@ -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
}