8000 GitHub - mehrdad-masoumi/jwt-auth: jwt-auth for echo framework
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

mehrdad-masoumi/jwt-auth

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

jwt-auth Service

Generate jwt token and refresh token based on echo framework

Installation

 go get github.com/mehrdad-masoumi/jwt-auth
 

Usage/Examples

func main() {

	cfg := config.Load("config.yml")
	fmt.Printf("%#v\n", cfg)

	e := echo.New()

	e.Server.Addr = ":8080"
	e.Server.ReadTimeout = 60 * time.Second
	e.Server.WriteTimeout = 60 * time.Second
	e.Pre(middleware.RemoveTrailingSlash())
	e.Use(middleware.Logger())
	e.Use(middleware.Recover())
	e.Use(middleware.CORSWithConfig(middleware.CORSConfig{
		AllowOrigins: []string{"*"},
	}))

	authSvc := authService.New(cfg.Auth)

	e.GET("/generate", func(c echo.Context) error {

		token, err := authSvc.GenerateAccessToken(100)
		if err != nil {
			return err
		}

		refreshToken, err := authSvc.GenerateRefreshToken(100)
		if err != nil {
			return err
		}

		return c.JSON(http.StatusOK, Response{
			AccessToken:  token,
			RefreshToken: refreshToken,
			ExpiresIn:    cfg.Auth.AccessExpirationTime / time.Minute,
		})
	})

	e.GET("/protected", func(c echo.Context) error {
		return c.String(http.StatusOK, "Hello, World!")
	}, authmiddleware.Auth(*authSvc, cfg.Auth))

	e.Logger.Fatal(e.Start(e.Server.Addr))
}

🚀 About Me

I'm a full stack developer...

About

jwt-auth for echo framework

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

0