End-User JWT Authentication — Multi-Language Reference
User registration, password hashing, and JWT session generation for application users.
Authenticate your application end-users with PBKDF2-SHA256 password hashing and standard 24-hour access JWTs.
User Registration (signUp)
const { user, session } = await db.auth.signUp({
email: 'user@example.com',
password: 'SecurePassword123!',
data: { role: 'developer' }
})
console.log('Access JWT:', session.access_token)
res = requests.post(
f"{BASE_URL}/api/dbaas/v2/projects/{SLUG}/auth/signup",
headers={"Authorization": f"Bearer {API_KEY}"},
json={"email": "user@example.com", "password": "SecurePassword123!", "data": {"role": "developer"}}
)
session = res.json()["session"]
print("JWT:", session["access_token"])
curl -X POST https://db.echo.oqens.me/api/dbaas/v2/projects/production-app/auth/signup \
-H "Authorization: Bearer oq_live_..." \
-H "Content-Type: application/json" \
-d '{"email": "user@example.com", "password": "SecurePassword123!"}'
User Authentication (signIn)
POST /auth/signin
curl -X POST https://db.echo.oqens.me/api/dbaas/v2/projects/production-app/auth/signin \
-H "Authorization: Bearer oq_live_..." \
-H "Content-Type: application/json" \
-d '{"email": "user@example.com", "password": "SecurePassword123!"}'
JWT Claims & Verification
Access tokens are standard HS256 JWTs signed with your project key containing:
sub: User UUIDemail: User email addressrole: User role (default:authenticated)iss:oqens-auth:<project_slug>exp: Expiration (24 hours from creation)