1. Docs
  2. Authentication

Authentication

How identities sign in. Canopy gives you two paths into the same platform, pick the one that matches how much of the login UI your app wants to own.

Overview

Authentication in Canopy means turning a user's credentials (email + password, an SSO redirect, an invite token) into a signed access token your app can trust. The platform handles password hashing, email verification, password reset, MFA, refresh tokens, and session revocation. Your app delegates as much or as little of that ceremony as you want, then verifies the resulting JWT against a public JWKS endpoint. An identity has to reach the Active state and have valid credentials to authenticate. Pre-provisioned identities at the Account layer with no password or federation hint stay in the Pending state and can't sign in until credentials are set. See the Identities overview for the lifecycle and the three-layer model.

Two paths

Shared infrastructure

Whichever path you pick, the same infrastructure backs both:

RS256-signed JWTs that carry the identity plus its Account / Application / Environment context, verifiable locally via the JWKS endpoint at /.well-known/jwks.json.Refresh tokens with rotation, swap a long-lived refresh token for a fresh access token without re-authenticating.Server-side sessions Canopy tracks each authenticated session and exposes a logout endpoint that revokes both the session and any active tokens.Federated / SSO identities via the external_id field on identities, map your own auth system or an upstream IdP to a Canopy identity.Custom auth domains: point a subdomain you own (auth.yourapp.com) at an Environment so its Direct API and hosted lifecycle pages answer on your own host, which keeps the identity refresh cookie first-party. Applies to the Direct API path; the Hosted Login endpoints stay on the platform origin. See Custom auth domain.
Environment
API version
v1.0
On this page Was this page helpful?

Tell us how we can improve this guide.