Human Pass DocsSandbox
DashboardCreate account
Menu

Any OpenID Connect library

Human Pass is a standard OpenID Connect provider, so any certified library works: Auth.js, Spring Security, ASP.NET Core, Authlib, Django and Rails libraries, and others. Give it these settings.

Settings

SettingValue
Issuerhttps://id.humanpass.co (sandbox: https://id.sandbox.humanpass.co)
Discoveryhttps://id.humanpass.co/.well-known/openid-configuration
FlowAuthorization code (response_type=code)
PKCERequired, S256
Scopesopenid personhood, plus any optional attributes
Client authenticationclient_secret_basic (server-side clients), private_key_jwt, or none (public clients, PKCE only)
ID token signatureES256
Subject typepairwise: a different sub per project
Refresh tokensNone: start your own session after sign-in

Endpoints

Discovery gives you all of these; you shouldn't need to type them.

EndpointAddress
Authorizationhttps://id.humanpass.co/oauth/authorize
Tokenhttps://id.humanpass.co/oauth/token
UserInfohttps://id.humanpass.co/userinfo
Keys (JWKS)https://id.humanpass.co/jwks
Token revocationhttps://id.humanpass.co/oauth/revoke
Status API (Human Pass)https://id.humanpass.co/v1/subjects/status

Common pitfalls

  • ES256. Some libraries assume RS256 unless told otherwise; Human Pass signs ID tokens with ES256 (in its JWKS).
  • No profile or email. Don't map users by email or name: there aren't any. Use sub.
  • PKCE. Requests without a code_challenge are refused, even from server-side clients.
  • Exact redirect URIs. The redirect URI must match one registered on the client exactly: scheme, host, port and path.
  • Claims in the ID token. verified_human and any attributes are in the ID token itself; calling UserInfo isn't needed.

The Human Pass sandbox is live for demos and testing integrations; production is coming soon. Interfaces may still change; we'll give notice of anything that breaks an integration.

humanpass.co · Security overview · Privacy