mirror of
https://github.com/onsonr/sonr.git
synced 2025-03-10 21:09:11 +00:00
* feat: add authentication middleware * feat: add REST API endpoints for database interactions * refactor: move DiscoveryDocument Pkl schema to oidc module * fix: replace sonrd with test_node.sh * feat: use NFT keeper to mint DID namespace NFT * refactor: move NFT class configuration to types * feat: add GlobalIntegrity genesis state * fix: ensure GlobalIntegrity is initialized in genesis * refactor: update all references to transactions module * refactor: improve genesis state struct * chore(did): update discovery endpoint to reflect base url * feat: remove unused context cache and client code * refactor: remove middleware dependency from keeper * feat: Add new query handlers for DID module * feat: Implement unimplemented params queries * feat: add support for first-party caveats * refactor: move motr command to cmd directory * feat: add support for GitHub releases * fix(motr): build app.wasm for motr package * feat: add card component * feat: add IndexedDB support for persistent storage * feat: Add Row and Column components * feat: add and components * refactor: improve button component * refactor: remove unnecessary button parameter in renderButton * feat: add vault service endpoint * feat: add input component
62 lines
1.4 KiB
Go
62 lines
1.4 KiB
Go
//go:build wasm
|
|
|
|
package main
|
|
|
|
import (
|
|
"github.com/labstack/echo/v4"
|
|
"github.com/syumai/workers"
|
|
|
|
"github.com/onsonr/sonr/internal/db"
|
|
|
|
"github.com/onsonr/sonr/internal/gui/views"
|
|
"github.com/onsonr/sonr/internal/mdw"
|
|
"github.com/onsonr/sonr/internal/svc"
|
|
)
|
|
|
|
func main() {
|
|
// Configure the server
|
|
e := echo.New()
|
|
|
|
// Use Middlewares
|
|
e.Use(mdw.UseSession)
|
|
|
|
// Setup routes
|
|
registerFrontend(e)
|
|
registerOpenID(e.Group("/authorize"))
|
|
registerVault(e.Group("/vault"))
|
|
|
|
// Serve Worker
|
|
workers.Serve(e)
|
|
}
|
|
|
|
func registerFrontend(e *echo.Echo) {
|
|
// Add Public Pages
|
|
e.GET("/", views.HomeView)
|
|
e.GET("/login", views.LoginView)
|
|
e.POST("/login/:identifier", svc.HandleCredentialAssertion)
|
|
e.GET("/register", views.RegisterView)
|
|
e.POST("/register/:subject", svc.HandleCredentialCreation)
|
|
e.POST("/register/:subject/check", svc.CheckSubjectIsValid)
|
|
e.GET("/profile", views.ProfileView)
|
|
}
|
|
|
|
func registerOpenID(g *echo.Group) {
|
|
// Add Authenticated Pages
|
|
g.Use(mdw.MacaroonMiddleware("test", "test"))
|
|
g.GET("/", views.AuthorizeView)
|
|
g.GET("/discovery", svc.GetDiscovery)
|
|
g.GET("/jwks", svc.GetJWKS)
|
|
g.GET("/token", svc.GetToken)
|
|
g.POST("/:origin/grant/:subject", svc.GrantAuthorization)
|
|
}
|
|
|
|
func registerVault(g *echo.Group) {
|
|
// Add Authenticated Pages
|
|
g.Use(mdw.MacaroonMiddleware("test", "test"))
|
|
vault, err := db.New(db.WitDir("vault"))
|
|
if err != nil {
|
|
// panic(err)
|
|
}
|
|
vault.ServeEcho(g)
|
|
}
|