Package apiauth provides handlers to enable apiauth support.

Simple Usage:


func main(){
	// apiauth every request
	beego.InsertFilter("*", beego.BeforeRouter,apiauth.APIBaiscAuth("appid","appkey"))

Advanced Usage:

func getAppSecret(appid string) string {
	// get appsecret by appid
	// maybe store in configure, maybe in database

beego.InsertFilter("*", beego.BeforeRouter,apiauth.APISecretAuth(getAppSecret, 360))


In the request user should include these params in the query

1. appid

appid is assigned to the application

2. signature

get the signature use apiauth.Signature()

when you send to server remember use url.QueryEscape()

3. timestamp:

send the request time, the format is yyyy-mm-dd HH:ii:ss

apiauth is referenced in 2 repositories