Skip to content

Integrating with Go API

Terminal window
go get github.com/authaction/authaction-go-sdk
verifier, err := authaction.New(
os.Getenv("AUTHACTION_DOMAIN"),
os.Getenv("AUTHACTION_AUDIENCE"),
)
if err != nil { log.Fatal(err) }
// net/http middleware
mux.Handle("/api/", verifier.Middleware()(apiHandler))
token, _ := authaction.TokenFromContext(r.Context())
// Gin
r.Use(verifier.GinMiddleware())
r.GET("/protected", func(c *gin.Context) {
tok, _ := authaction.TokenFromGin(c)
c.JSON(200, gin.H{"sub": tok.(jwt.Token).Subject()})
})

Full SDK reference: github.com/authaction/authaction-go-sdk