OAuth2 Integration
VeryAI's OAuth2 integration provides secure biometric authentication using a standard OAuth 2.0 / OpenID Connect flow while protecting user privacy through app-scoped identifiers rather than exposing raw biometric data.
Live Demo
See the OAuth2 flow in action with our interactive demo app.
When to Use OAuth2#
- Apps requiring persistent user identifiers for account linking or activity tracking
- Organizations preferring familiar OAuth-style login flows
- Use cases not requiring zero-knowledge proof anonymity
For maximum privacy without persistent identifiers, see ZK Integration instead.
Authentication Flow#
The OAuth2 flow involves five steps:
- 1. Authorization Request — Redirect users to VeryAI Connect with client credentials
- 2. User Verification — Displays QR code for palm scanning via mobile app
- 3. Authorization Code — Returned upon successful verification
- 4. Token Exchange — Converts authorization code to access tokens
- 5. API Access — Uses bearer tokens for protected resources
Endpoint URLs#
- Authorization endpoint:
https://connect.very.org/oauth/authorize - Token and UserInfo API base:
https://api.very.org/oauth2
Endpoints#
The flow uses three endpoints — GET https://connect.very.org/oauth/authorize, POST https://api.very.org/oauth2/token, and GET https://api.very.org/oauth2/userinfo. For full parameter tables, response fields, and error codes, see the API Reference.
Verifying an Existing Linked User#
To verify a user already linked to your app, pass the app-scoped identifier returned as the OIDC sub claim in the optional user_id authorization parameter. VeryAI validates the identifier before showing the consent and palm-verification flow. If it is unknown or revoked, the browser returns to your registered redirect_uri with error=invalid_request, an error_description, and the original state.
Never use an internal account ID, email address, or an identifier issued to another OAuth client as user_id. Omit the parameter when you are not targeting an existing linked user.
Getting Started#
Register your app and get credentials on the Getting Started page, or go directly to the Developer Portal.