Client / end-user ↔ Customer servers
- The user is already authenticated and has a JWT from Dynamic.
- Your app sends the JWT to your backend (in the
Authorization: Bearer <token>header, or automatically via cookie). - Your backend verifies the JWT using Dynamic’s public key (fetched from the JWKS endpoint and cached).
- Your backend verifies the scope contains
user:basic— this confirms the user has completed the full authentication flow. - After verification, your backend trusts the claims in the JWT (
subfor user ID,verified_credentials, etc.) and authorizes the request.