Authentication
JSS supports multiple authentication methods.
Simple Tokens (Development)
Token returned from pod creation:
curl -H "Authorization: Bearer YOUR_TOKEN" http://localhost:3000/alice/private/
Solid-OIDC
Built-in Identity Provider
jss start --idp
Create a user:
curl -X POST http://localhost:3000/.pods \
-H "Content-Type: application/json" \
-d '{"name": "alice", "email": "alice@example.com", "password": "secret123"}'
OIDC Discovery: /.well-known/openid-configuration
External Identity Providers
JSS accepts DPoP-bound tokens from any Solid IdP:
curl -H "Authorization: DPoP ACCESS_TOKEN" \
-H "DPoP: DPOP_PROOF" \
http://localhost:3000/alice/private/
Nostr Authentication (NIP-98)
Sign requests with Nostr keys. Install the credential helper for git:
npm install -g git-credential-nostr
git-credential-nostr generate
git config --global credential.helper nostr
git config --global nostr.privkey <key>
See git-credential-nostr for details.