mirror of
https://github.com/Floriansylvain/RenewCMS.git
synced 2026-08-19 11:43:22 +02:00
First part of httpOnly JWT cookie implementation
This commit is contained in:
+15
-6
@@ -10,10 +10,12 @@ import (
|
||||
"github.com/joho/godotenv"
|
||||
)
|
||||
|
||||
var ginMode string
|
||||
var apiPort string
|
||||
var frontPort string
|
||||
var hostAddress string
|
||||
var (
|
||||
ginMode string
|
||||
apiPort string
|
||||
frontPort string
|
||||
hostAddress string
|
||||
)
|
||||
|
||||
func initEnvVariables() {
|
||||
if godotenv.Load() != nil {
|
||||
@@ -50,6 +52,12 @@ func corsMiddleware(c *gin.Context) {
|
||||
c.Next()
|
||||
}
|
||||
|
||||
func jwtProxyMiddleware(c *gin.Context) {
|
||||
jwtToken, _ := c.Cookie("jwt")
|
||||
c.Request.Header.Set("Authorization", fmt.Sprintf("Bearer %v", jwtToken))
|
||||
c.Next()
|
||||
}
|
||||
|
||||
func initArticlesRoutes(r *gin.Engine) {
|
||||
articlesRouter := r.Group("/articles")
|
||||
articlesRouter.Use(corsMiddleware, api.AuthMiddleware.MiddlewareFunc())
|
||||
@@ -63,10 +71,11 @@ func initArticlesRoutes(r *gin.Engine) {
|
||||
|
||||
func initGin() {
|
||||
r := gin.Default()
|
||||
r.Use(corsMiddleware)
|
||||
r.Use(jwtProxyMiddleware, corsMiddleware)
|
||||
|
||||
if ginMode == "release" {
|
||||
gin.SetMode(ginMode)
|
||||
api.AuthMiddleware.SecureCookie = true
|
||||
}
|
||||
|
||||
initBasicRoutes(r)
|
||||
@@ -77,6 +86,6 @@ func initGin() {
|
||||
|
||||
func main() {
|
||||
initEnvVariables()
|
||||
initJWT()
|
||||
initGin()
|
||||
initJWT()
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user