From bfe729a5a4035808f1a03e3aa3f7bbbb76e55a30 Mon Sep 17 00:00:00 2001
From: liuxiaolong <736321739@qq.com>
Date: 星期四, 20 六月 2019 16:22:46 +0800
Subject: [PATCH] add jwt auth
---
/dev/null | 25 -------------------------
controllers/user.go | 9 +++++++++
middlewares/auth/auth.go | 1 +
middlewares/auth/jwt.go | 1 +
4 files changed, 11 insertions(+), 25 deletions(-)
diff --git a/controllers/auth.go b/controllers/auth.go
deleted file mode 100644
index 7ef9572..0000000
--- a/controllers/auth.go
+++ /dev/null
@@ -1,44 +0,0 @@
-package controllers
-
-import (
- "webserver/middlewares"
- "fmt"
- "github.com/gin-gonic/gin"
-)
-
-const userId string = "abc123"
-
-func Signup(c *gin.Context) {
- //var people PeoperController
- //people.CreatePerson(c)
-}
-
-func Login(c *gin.Context) {
- //var person models.Person
- //c.BindJSON(&person)
- //sinpass := person.Password
- //fmt.Println(sinpass, person.UserName)
- //
- //var getDB = models.GetDB()
- //if err := getDB.Where("user_name = ?", person.UserName).First(&person).Error; err != nil {
- // fmt.Println("error")
- // c.AbortWithStatus(404)
- //} else {
- // fmt.Println(person)
- // if person.Password != sinpass {
- // c.AbortWithStatus(500)
- // }
- // Auth(c)
- //}
-
-}
-
-func Auth(c *gin.Context) {
-
- token, err := middlewares.GenerateToken([]byte(middlewares.SigningKey), userId)
- if err != nil {
- fmt.Println(err)
-
- }
- c.JSON(200, token)
-}
diff --git a/controllers/user.go b/controllers/user.go
new file mode 100644
index 0000000..e212688
--- /dev/null
+++ b/controllers/user.go
@@ -0,0 +1,9 @@
+package controllers
+
+import (
+ "github.com/gin-gonic/gin"
+)
+
+func Login(c *gin.Context) {
+
+}
\ No newline at end of file
diff --git a/middlewares/auth.go b/middlewares/auth.go
deleted file mode 100644
index b597409..0000000
--- a/middlewares/auth.go
+++ /dev/null
@@ -1,40 +0,0 @@
-package middlewares
-
-import (
- "fmt"
- "github.com/dgrijalva/jwt-go"
- "github.com/gin-gonic/gin"
- "strings"
-)
-
-func AuthHandler() gin.HandlerFunc {
- return func(c *gin.Context) {
- token := c.Request.Header.Get("Authorization")
- // Check if toke in correct format
- // ie Bearer: xx03xllasx
- b := "Bearer "
- if !strings.Contains(token, b) {
- c.JSON(403, gin.H{"message": "Your request is not authorized"})
- c.Abort()
- return
- }
- t := strings.Split(token, b)
- if len(t) < 2 {
- c.JSON(403, gin.H{"message": "An authorization token was not supplied"})
- c.Abort()
- return
- }
- // Validate token
- valid, err := ValidateToken(t[1], SigningKey)
- if err != nil {
- fmt.Println("enter error")
- c.JSON(403, gin.H{"message": "Invalid authorization token"})
- c.Abort()
- return
- }
-
- // set userId Variable
- c.Set("userId", valid.Claims.(jwt.MapClaims)["user_id"])
- c.Next()
- }
-}
diff --git a/middlewares/auth/auth.go b/middlewares/auth/auth.go
new file mode 100644
index 0000000..8832b06
--- /dev/null
+++ b/middlewares/auth/auth.go
@@ -0,0 +1 @@
+package auth
diff --git a/middlewares/auth/jwt.go b/middlewares/auth/jwt.go
new file mode 100644
index 0000000..8832b06
--- /dev/null
+++ b/middlewares/auth/jwt.go
@@ -0,0 +1 @@
+package auth
diff --git a/middlewares/main.go b/middlewares/main.go
deleted file mode 100644
index cf7249e..0000000
--- a/middlewares/main.go
+++ /dev/null
@@ -1,6 +0,0 @@
-package middlewares
-
-const (
- SigningKey = "abc123456789"
-)
-
diff --git a/middlewares/tokens.go b/middlewares/tokens.go
deleted file mode 100644
index 116e036..0000000
--- a/middlewares/tokens.go
+++ /dev/null
@@ -1,25 +0,0 @@
-package middlewares
-
-import (
- "github.com/dgrijalva/jwt-go"
- "time"
-)
-
-func GenerateToken(k []byte, userId string) (string, error) {
- // Create the token
- token := jwt.New(jwt.SigningMethodHS256)
- // Set some claims
- claims := make(jwt.MapClaims)
- claims["user_id"] = userId
- claims["exp"] = time.Now().Add(time.Minute).Unix()
- token.Claims = claims
- // Sign and get the complete encoded token as a string
- tokenString, err := token.SignedString(k)
- return tokenString, err
-}
-
-func ValidateToken(t string, k string) (*jwt.Token, error) {
- token, err := jwt.Parse(t, func(token *jwt.Token) (interface{}, error) { return []byte(k), nil })
-
- return token, err
-}
--
Gitblit v1.8.0