Skip to content

SpaceRouter/sr_auth

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

sr_auth

Example

Vanilla usage

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

Gin usage

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})
	})
}

About

Authentication Lib

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages