Skip to content

Auth Example

Demonstrates authentication and authorization using @venturekit/auth.

Source: examples/auth/

  • Cognito integration via auth infrastructure intents
  • OAuth scopes defined in security config, enforced in handlers
  • Role-based access control — roles that map to sets of scopes
  • Scope checking utilitieshasScope, hasAnyScope, getScopesForRoles
  • JWT utilitiesdecodeToken, extractUserFromToken, isTokenExpired
  • User contextctx.user.id, ctx.user.email, ctx.user.scopes
  • Admin-only endpoints — restricted to admin.users scope
RouteAuthDescription
GET /meusers.readCurrent user profile
GET /admin/usersadmin.usersAdmin-only user list
POST /auth/verify-tokenPublicDecode a JWT
POST /auth/check-rolesPublicCheck role permissions
const roles = [
{ name: 'viewer', scopes: ['users.read'] },
{ name: 'member', scopes: ['users.read', 'users.write'] },
{ name: 'admin', scopes: ['users.read', 'users.write', 'admin.users'], isSystem: true },
];
Terminal window
cd examples/auth
npm install
vk dev
curl -H "Authorization: Bearer <token>" http://localhost:3000/me