beego接口做签名 ,比较简单,简单记录一下:
1.routers 文件夹下新见 filter.go
func RouterFilter(){
var check = func(ctx *context.Context) {
if ctx.Request.Method != "OPTIONS"{
Timestamp := ctx.Request.Header.Get("X-Access-Timestamp")
Signature := ctx.Request.Header.Get("X-Access-Signature")
fmt.Println(Timestamp,Signature)
signature := utils.MD5("timestamp="+Timestamp+"&"+"token="+conf.Token)
if signature != Signature{
ctx.ResponseWriter.WriteHeader(403)
}
}
}
beego.InsertFilter("/api/*", beego.BeforeExec, check)
}
2.router.go里设置
func init() {
ns:=beego.NewNamespace("/api",
beego.NSRouter("*",&controllers.CommonController{},"OPTIONS:Options"),
beego.NSNamespace("/test