Multi-Language
Identity

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 UUID
  • email: User email address
  • role: User role (default: authenticated)
  • iss: oqens-auth:<project_slug>
  • exp: Expiration (24 hours from creation)
Copied