0.5.0 • Published 1 year ago
gell-web v0.5.0
gell-web
model session activity for web based applications
Concepts
authority- responsible for issuing
userandbrowsersessions - NOTE: this concept is really a
gell-sessionconcept
- responsible for issuing
loginsessionwebsocketsession
Session Model
- as with all
gellsystems, interaction with web applications is modeled as a Session hierarchy
Hierarchy
userbrowserlogin*websocket
Domain
user- represents any person that interacts with a web application
can be "anonymous" or known to the application
often (but not required to be) tied to an
identity*identityis not modeled by this package
- represents any person that interacts with a web application
can be "anonymous" or known to the application
often (but not required to be) tied to an
browser- maintains state for
userand application over a period of time * persistence is typically cookie based
- maintains state for
login- represents authenticated interaction with a web application
* allows for
browsersession to extend beyond period of time whereuserhas "logged in"
- represents authenticated interaction with a web application
* allows for
websocket- represents a websocket connection between browser and web application backend * NOTE: no Session implementation currently for a "secured" connection (after authorization)
Roadmap
- implement the "authorize" concept
- this should be a more general approach to associating a
userwith asessionthis might be agell-sessionconcept should be anauthorizeevent or perhaps "authorizer" (future) instead of event allow client to specify cardinality rules
- this should be a more general approach to associating a
- solidify
roleandpersonaconcepts- this might be in
gell-actor
- this might be in
- implement a generic "cardinality" concept
- this might be a
gell-sessionconcept prevents more than one session to exists at a time provide strategies for preventing concurrent sessions this was implemented with websocketsauthoritywould enforce cardinality strategy
- this might be a