Generate jwt token and refresh token based on echo framework
go get github.com/mehrdad-masoumi/jwt-auth
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))
}
I'm a full stack developer...