![](https://camo.githubusercontent.com/b0386e44b74a7500bdda76946286c8e96dd67a82487b5faf62e1a27a9a9d91c9/68747470733a2f2f676f7265706f7274636172642e636f6d2f2f62616467652f6769746875622e636f6d2f5370616365526f757465722f73725f61757468)
package main
import (
"github.com/spacerouter/sr_auth"
"log"
)
func main() {
key := "SECRETKEY"
auth := sr_auth.CreateAuth(key, "http://localhost:8080", nil)
user, err := auth.GetUserFromToken(tokenString)
if err != nil {
log.Fatal(err)
}
roles, err := user.GetRoles()
if err != nil {
return
}
log.Println(user)
log.Println(roles)
}
- key is the token's secret key
- user contains user's information
package main
import (
"github.com/spacerouter/sr_auth"
"github.com/gin-gonic/gin"
)
func main() {
key := "SECRETKEY"
router := gin.New()
router.Use(gin.Logger())
router.Use(gin.Recovery())
auth := sr_auth.CreateAuth(key, "http://localhost:8080", nil)
router.Use(auth.SrAuthMiddlewareGin())
router.GET("/info", func(c *gin.Context) {
user, err := sr_auth.ExtractUser(c)
if err != nil {
c.AbortWithStatus(500)
return
}
roles, err := user.GetRoles()
if err != nil {
c.AbortWithStatus(500)
return
}
c.JSON(200, gin.H{"user": user, "roles": roles})
})
}