SSX is a SpruceKit library that enables you to easily add user authentication, session management, and more to your app.
Documentation for SSX can be found here.
- Client side under
./packages/ssx-sdk. - Server side under
./packages/ssx-server.
⚠ This repository requires node >= 18.16.0
yarn- Install dependencies and build packagesyarn build- Build all packages and examplesyarn build:packages- Build all packagesyarn build:examples- Build all examplesyarn examples- Concurrently run thessx-test-appandssx-test-express-apifound in./examplesyarn test- Run unit tests (Jest)yarn test:e2e- Run E2E tests (Cypress/Synpress)yarn reset- Remove all build artifacts and node_modules
SSX ships with a Docker Compose configuration
for setting up a local development and testing environment with SSX server and
our example app. Make sure you have
Docker and Compose installed, then
create a .env file in the project root:
ssx_listenPort=8443 # ssx server will be available on http://localhost:8443
ssx_signingKey= # session secret for ssx server
ssx_providers__metrics__apiKey= # ssx metrics api key https://app.ssx.id
ssx_providers__rpc__apiKey= # infura api key for wallet connect (optional)
Save your .env file and from the project root, run:
docker compose up
Docker will build containers for the SSX server and example app from the working tree and start them both.
- Example app: http://localhost:3000
- SSX Server: http://localhost:8443