@@ -22,64 +22,56 @@ type Cookie struct {
2222
2323// authorization Middleware auths users before requests
2424func authorization (c * fiber.Ctx ) error {
25- cookie := new (Cookie )
26- c .CookieParser (cookie )
25+ if len (c .FormValue ("liman-token" )) > 0 {
26+ user , err := liman .AuthWithAccessToken (
27+ strings .Trim (c .FormValue ("liman-token" ), "" ),
28+ )
2729
28- if len (cookie .Token ) > 0 {
29- decoded , err := url .QueryUnescape (cookie .Token )
3030 if err != nil {
31- logger .FiberError (fiber .StatusUnauthorized , "invalid authorization token (cookie), " + err .Error ())
31+ return logger .FiberError (fiber .StatusUnauthorized , err .Error ())
3232 }
3333
34- if len ( decoded ) < 1 {
35- return logger . FiberError ( fiber . StatusUnauthorized , "authorization token is missing" )
36- }
34+ c . Locals ( "user_id" , user )
35+ return c . Next ( )
36+ }
3737
38- code , err := helpers .LaravelAesDecrypt ("token" , decoded )
38+ if len (string (c .Request ().Header .Peek ("Authorization" ))) > 0 {
39+ code , err := helpers .LaravelAesDecrypt ("token" , c .FormValue ("token" ))
3940 if err != nil {
40- return logger . FiberError ( fiber . StatusUnauthorized , "invalid authorization token (cookie), " + err . Error ( ))
41+ return jwtValidation ( c , c . FormValue ( " token" ))
4142 }
4243
4344 return jwtValidation (c , code )
4445 }
4546
46- if len (c .FormValue ("token" )) > 0 {
47- user , err := liman .AuthWithToken (
48- strings .Trim (c .FormValue ("token" ), "" ),
49- )
47+ cookie := new (Cookie )
48+ c .CookieParser (cookie )
5049
50+ if len (cookie .Token ) > 0 {
51+ decoded , err := url .QueryUnescape (cookie .Token )
5152 if err != nil {
52- return logger .FiberError (fiber .StatusUnauthorized , err .Error ())
53+ logger .FiberError (fiber .StatusUnauthorized , "invalid authorization token (cookie), " + err .Error ())
5354 }
5455
55- c .Locals ("user_id" , user )
56- return c .Next ()
57- }
58-
59- if len (c .FormValue ("liman-token" )) > 0 {
60- user , err := liman .AuthWithAccessToken (
61- strings .Trim (c .FormValue ("liman-token" ), "" ),
62- )
56+ if len (decoded ) < 1 {
57+ return logger .FiberError (fiber .StatusUnauthorized , "authorization token is missing" )
58+ }
6359
60+ code , err := helpers .LaravelAesDecrypt ("token" , decoded )
6461 if err != nil {
65- return logger . FiberError ( fiber . StatusUnauthorized , err . Error () )
62+ return jwtValidation ( c , decoded )
6663 }
6764
68- c .Locals ("user_id" , user )
69- return c .Next ()
65+ return jwtValidation (c , code )
7066 }
7167
72- if len (string (c .Request ().Header .Peek ("Authorization" ))) > 0 {
73- user , err := liman .AuthWithToken (
74- strings .Trim (string (c .Request ().Header .Peek ("Authorization" )), "" ),
75- )
76-
68+ if len (c .FormValue ("token" )) > 0 {
69+ code , err := helpers .LaravelAesDecrypt ("token" , c .FormValue ("token" ))
7770 if err != nil {
78- return logger . FiberError ( fiber . StatusUnauthorized , err . Error ( ))
71+ return jwtValidation ( c , c . FormValue ( "token" ))
7972 }
8073
81- c .Locals ("user_id" , user )
82- return c .Next ()
74+ return jwtValidation (c , code )
8375 }
8476
8577 return logger .FiberError (fiber .StatusUnauthorized , "authorization token is missing" )
@@ -99,6 +91,7 @@ func jwtValidation(c *fiber.Ctx, code string) error {
9991
10092 if claims , ok := token .Claims .(jwt.MapClaims ); ok && token .Valid {
10193 c .Locals ("user_id" , claims ["sub" ])
94+ c .Locals ("token" , code )
10295 return c .Next ()
10396 } else {
10497 return logger .FiberError (fiber .StatusUnauthorized , "invalid authorization token" )
0 commit comments