mirror of
https://github.com/sonr-io/sonr.git
synced 2026-08-05 02:41:41 +00:00
feature/1109 grpc session model (#1141)
- **feat: remove Hway deployment** - **feat: introduce session middleware for requests** - **refactor: update path imports to use new pkg folder** - **feat: add gRPC client for interacting with services** - **feat: remove grpc client and use REST api** - **refactor: move from to** - **feat: add client views endpoint** - **feat: add webauthn support** - **closes: #1124** - **refactor: Improve PR labeler configuration** - **feat: add milestone discussion template** - **feat: remove OKR tracking issue template** - **feat: use gorilla sessions for session management** - **refactor: move pubkey related code to** - **<no value>** - **refactor: remove unused identifier type** - **feat: integrate Macaroon Keeper with Service Module** - **refactor: rename worker routes for clarity**
This commit is contained in:
@@ -0,0 +1,61 @@
|
||||
package ctx
|
||||
|
||||
import "github.com/labstack/echo/v4"
|
||||
|
||||
type State string
|
||||
|
||||
const (
|
||||
StateAuthenticated State = "authenticated"
|
||||
StateUnauthenticated State = "unauthenticated"
|
||||
StatePendingCredentials State = "pending_credentials"
|
||||
StatePendingAssertion State = "pending_assertion"
|
||||
StateDisabled State = "disabled"
|
||||
StateDisconnected State = "disconnected"
|
||||
)
|
||||
|
||||
func (s State) String() string {
|
||||
return string(s)
|
||||
}
|
||||
|
||||
func StateFromString(s string) State {
|
||||
switch s {
|
||||
case StateAuthenticated.String():
|
||||
return StateAuthenticated
|
||||
case StateUnauthenticated.String():
|
||||
return StateUnauthenticated
|
||||
case StatePendingCredentials.String():
|
||||
return StatePendingCredentials
|
||||
case StatePendingAssertion.String():
|
||||
return StatePendingAssertion
|
||||
case StateDisabled.String():
|
||||
return StateDisabled
|
||||
case StateDisconnected.String():
|
||||
return StateDisconnected
|
||||
default:
|
||||
return State("")
|
||||
}
|
||||
}
|
||||
|
||||
func readSessionFromStore(c echo.Context, id string) (*session, error) {
|
||||
sess, err := store.Get(c.Request(), id)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return NewSessionFromValues(sess.Values), nil
|
||||
}
|
||||
|
||||
func writeSessionToStore(
|
||||
c echo.Context,
|
||||
id string,
|
||||
) error {
|
||||
sess, err := store.Get(c.Request(), id)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
s := defaultSession(id, sess)
|
||||
err = s.SaveHTTP(c)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
return nil
|
||||
}
|
||||
Reference in New Issue
Block a user