Feat: sign auth middleware

This commit is contained in:
HFO4
2019-12-10 20:17:21 +08:00
parent 36d5f51495
commit ea7f034332
4 changed files with 45 additions and 8 deletions

View File

@ -1,22 +1,22 @@
package middleware
import (
"fmt"
"github.com/HFO4/cloudreve/models"
"github.com/HFO4/cloudreve/pkg/auth"
"github.com/HFO4/cloudreve/pkg/serializer"
"github.com/gin-contrib/sessions"
"github.com/gin-gonic/gin"
)
// SignRequired 验证请求签名
// TODO 测试
func SignRequired() gin.HandlerFunc {
return func(c *gin.Context) {
// 获取待验证的签名正文
queries := c.Request.URL.Query()
queries.Del("sign")
c.Request.URL.RawQuery = queries.Encode()
requestURI := c.Request.URL.RequestURI()
fmt.Println(requestURI)
err := auth.CheckURI(c.Request.URL)
if err != nil {
c.JSON(200, serializer.Err(serializer.CodeCheckLogin, err.Error(), err))
c.Abort()
}
c.Next()
}
}