12345678910111213141516171819202122232425262728293031323334353637383940414243 |
- package http
- import (
- "strconv"
- "go-common/library/ecode"
- bm "go-common/library/net/http/blademaster"
- )
- const (
- _contentType = "Content-Type"
- _urlJSON = "application/json"
- )
- // credential verify.
- func credential(ctx *bm.Context) {
- var (
- appIDStr string
- signature string
- )
- req := ctx.Request
- params := req.Form
- header := req.Header
- if header.Get(_contentType) == _urlJSON {
- appIDStr = header.Get("App-Tree-ID")
- signature = header.Get("Signature")
- header.Del("Signature")
- } else {
- appIDStr = params.Get("app_tree_id")
- signature = params.Get("signature")
- params.Del("signature")
- }
- appID, _ := strconv.ParseInt(appIDStr, 10, 64)
- if appID == 0 || signature == "" {
- ctx.JSON(nil, ecode.RequestErr)
- ctx.Abort()
- return
- }
- if ok := svr.CheckSign(appID, signature); !ok {
- ctx.JSON(nil, ecode.SignCheckErr)
- ctx.Abort()
- }
- }
|