feat: implement passkey-based authentication

This commit is contained in:
Prad Nukala
2024-12-10 13:12:08 -05:00
parent dc6f02a000
commit f366dd8cf2
35 changed files with 751 additions and 1039 deletions
+36
View File
@@ -0,0 +1,36 @@
package index
import (
"github.com/labstack/echo/v4"
"github.com/onsonr/sonr/internal/gateway/session"
)
// Initial users have no authorization, user handle, or vault address
func isInitial(c echo.Context) bool {
sess, err := session.Get(c)
if err != nil {
return false
}
data := sess.Session()
return data.UserHandle == "" && data.VaultAddress == ""
}
// Expired users have either a user handle or vault address
func isExpired(c echo.Context) bool {
sess, err := session.Get(c)
if err != nil {
return false
}
data := sess.Session()
return data.UserHandle != "" || data.VaultAddress != ""
}
// Returning users have a valid authorization, and either a user handle or vault address
func isReturning(c echo.Context) bool {
sess, err := session.Get(c)
if err != nil {
return false
}
data := sess.Session()
return data.UserHandle != "" && data.VaultAddress != ""
}