auth

package module
v0.0.0-...-2fe2a35 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 9, 2020 License: MIT Imports: 8 Imported by: 0

README

gin-oidc

gin middleware - an OIDC client for a relying party web server

example usage

  //middleware params
 	initParams := gin_oidc.InitParams{
 		Router:       router,
 		ClientId:     "xx-xxx-xxx",
 		ClientSecret: "xx-xxx-xxx",
 		Issuer:       "https://accounts.google.com/", //add '.well-known/openid-configuration' to see it's a good link
 		ClientUrl:    "http://example.domain/", //your website's url
 		Scopes:       ["openid"],
 		ErrorHandler: func(c *gin.Context) {
 			//gin_oidc pushes a new error before any "ErrorHandler" invocation
 			message := c.Errors.Last().Error()
 			//redirect to ErrorEndpoint with error message
 			redirectToErrorPage(c, "http://example2.domain/error", message)
 			//when "ErrorHandler" ends "c.Abort()" is invoked - no further handlers will be invoked
 		},
 		PostLogoutUrl: "http://example2.domain/",
 	}
  
 	//protect all endpoint below this line
 	router.Use(gin_oidc.Init(initParams))
  //or protect a single endpoint
  protectMiddleware := gin_oidc.Init(initParams)
  router.GET("/protectedEndpoint", protectMiddleware, protectedEndpointHandler)
  

If you have any questions feel free to open an issue.

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func AuthMiddleware

func AuthMiddleware(next http.HandlerFunc) http.HandlerFunc

func Init

func Init(c oauth2.Config, oidcServerUrl string, mux *http.ServeMux)

Types

type Claims

type Claims struct {
	Sub                string
	Email_verified     bool
	Roles              []string
	Name               string
	Preferred_username string
	Given_name         string
	Family_name        string
	Email              string
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL