summaryrefslogtreecommitdiffstats
path: root/vendor/github.com/labstack/echo/cookbook/jwt/custom-claims
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/github.com/labstack/echo/cookbook/jwt/custom-claims')
-rw-r--r--vendor/github.com/labstack/echo/cookbook/jwt/custom-claims/server.go86
1 files changed, 0 insertions, 86 deletions
diff --git a/vendor/github.com/labstack/echo/cookbook/jwt/custom-claims/server.go b/vendor/github.com/labstack/echo/cookbook/jwt/custom-claims/server.go
deleted file mode 100644
index b3a13205..00000000
--- a/vendor/github.com/labstack/echo/cookbook/jwt/custom-claims/server.go
+++ /dev/null
@@ -1,86 +0,0 @@
-package main
-
-import (
- "net/http"
- "time"
-
- jwt "github.com/dgrijalva/jwt-go"
- "github.com/labstack/echo"
- "github.com/labstack/echo/middleware"
-)
-
-// jwtCustomClaims are custom claims extending default ones.
-type jwtCustomClaims struct {
- Name string `json:"name"`
- Admin bool `json:"admin"`
- jwt.StandardClaims
-}
-
-func login(c echo.Context) error {
- username := c.FormValue("username")
- password := c.FormValue("password")
-
- if username == "jon" && password == "shhh!" {
-
- // Set custom claims
- claims := &jwtCustomClaims{
- "Jon Snow",
- true,
- jwt.StandardClaims{
- ExpiresAt: time.Now().Add(time.Hour * 72).Unix(),
- },
- }
-
- // Create token with claims
- token := jwt.NewWithClaims(jwt.SigningMethodHS256, claims)
-
- // Generate encoded token and send it as response.
- t, err := token.SignedString([]byte("secret"))
- if err != nil {
- return err
- }
- return c.JSON(http.StatusOK, echo.Map{
- "token": t,
- })
- }
-
- return echo.ErrUnauthorized
-}
-
-func accessible(c echo.Context) error {
- return c.String(http.StatusOK, "Accessible")
-}
-
-func restricted(c echo.Context) error {
- user := c.Get("user").(*jwt.Token)
- claims := user.Claims.(*jwtCustomClaims)
- name := claims.Name
- return c.String(http.StatusOK, "Welcome "+name+"!")
-}
-
-func main() {
- e := echo.New()
-
- // Middleware
- e.Use(middleware.Logger())
- e.Use(middleware.Recover())
-
- // Login route
- e.POST("/login", login)
-
- // Unauthenticated route
- e.GET("/", accessible)
-
- // Restricted group
- r := e.Group("/restricted")
-
- // Configure middleware with the custom claims type
- config := middleware.JWTConfig{
- Claims: &jwtCustomClaims{},
- SigningKey: []byte("secret"),
- }
- r.Use(middleware.JWTWithConfig(config))
- r.GET("", restricted)
-
- e.Logger.Fatal(e.Start(":1323"))
-}