📝 Roadmap
This commit is contained in:
parent
ed05782319
commit
406031b966
16
ROADMAP.md
Normal file
16
ROADMAP.md
Normal file
@ -0,0 +1,16 @@
|
||||
# Roadmap
|
||||
|
||||
The development progress and plan for Hypernet.Nexus
|
||||
|
||||
- [x] Service discovery
|
||||
- [x] Command system
|
||||
- [x] High availability
|
||||
- [x] Microservice gateway
|
||||
- [ ] Authenticate (W.I.P)
|
||||
- [ ] FastLSF (fast lua based serverless function)
|
||||
|
||||
The goal of project Hypernet is going to replace the Hydrogen as Solar Network server-side software.
|
||||
And the goal of this project is going to replace Hydrogen.Dealer as the core component of Solar Network.
|
||||
|
||||
Other Hydrogen project will be refactored and upgraded to support Nexus as soon as the first stable version is released.
|
||||
Some features will moved to command based api, such as daily sign in Passport which isn't in Nexus Standard and will be not in it.
|
26
pkg/internal/auth/http.go
Normal file
26
pkg/internal/auth/http.go
Normal file
@ -0,0 +1,26 @@
|
||||
package auth
|
||||
|
||||
import "github.com/gofiber/fiber/v2"
|
||||
|
||||
func SoftAuthMiddleware(c *fiber.Ctx) error {
|
||||
atk := tokenExtract(c)
|
||||
c.Locals("nex_token", atk)
|
||||
|
||||
if claims, err := tokenRead(atk); err == nil && claims != nil {
|
||||
c.Locals("nex_principal", claims)
|
||||
// TODO fetch user info
|
||||
} else if err != nil {
|
||||
c.Locals("nex_auth_error", err)
|
||||
}
|
||||
|
||||
return c.Next()
|
||||
}
|
||||
|
||||
func HardAuthMiddleware(c *fiber.Ctx) error {
|
||||
if c.Locals("nex_principal") == nil {
|
||||
err := c.Locals("nex_auth_error").(error)
|
||||
return fiber.NewError(fiber.StatusUnauthorized, err.Error())
|
||||
}
|
||||
|
||||
return c.Next()
|
||||
}
|
@ -8,28 +8,6 @@ import (
|
||||
|
||||
var JReader *sec.JwtReader
|
||||
|
||||
func SoftAuthMiddleware(c *fiber.Ctx) error {
|
||||
atk := tokenExtract(c)
|
||||
c.Locals("nex_token", atk)
|
||||
|
||||
if claims, err := tokenRead(atk); err == nil && claims != nil {
|
||||
c.Locals("nex_principal", claims)
|
||||
} else if err != nil {
|
||||
c.Locals("nex_auth_error", err)
|
||||
}
|
||||
|
||||
return c.Next()
|
||||
}
|
||||
|
||||
func HardAuthMiddleware(c *fiber.Ctx) error {
|
||||
if c.Locals("nex_principal") == nil {
|
||||
err := c.Locals("nex_auth_error").(error)
|
||||
return fiber.NewError(fiber.StatusUnauthorized, err.Error())
|
||||
}
|
||||
|
||||
return c.Next()
|
||||
}
|
||||
|
||||
func tokenExtract(c *fiber.Ctx) string {
|
||||
var atk string
|
||||
if cookie := c.Cookies(sec.CookieAccessToken); len(cookie) > 0 {
|
||||
|
1
pkg/internal/auth/userinfo.go
Normal file
1
pkg/internal/auth/userinfo.go
Normal file
@ -0,0 +1 @@
|
||||
package auth
|
Loading…
Reference in New Issue
Block a user