Guides Getting started
SDKs & Libraries
Official AgeWallet SDKs. If there is one for your platform, use it — it handles the parts of the flow that are easy to get wrong, and you will be done in a fraction of the time.
Which one should I use?
| If you are | Use |
|---|---|
| Adding verification to a WordPress site | The WordPress plugin |
| Adding a verification gate to an existing page, with no build step | JavaScript (drop-in) |
| Building a custom flow in a JavaScript or PHP application | The JavaScript SDK or PHP SDK |
| Building a native mobile app | The iOS or Android SDK |
| Building cross-platform mobile | Flutter, React Native, or Ionic |
| On another stack entirely | Any OIDC library — start at Endpoints |
The drop-in and example builds are the fastest path and cover the common case: send the user to verify, get a result back. The SDKs give you control over the flow, error handling, and where the result is stored.
What the SDKs do for you
Each SDK implements the full authorization code flow, so you do not have to:
- Generate and store a PKCE verifier and challenge, per request
- Generate, store and validate
stateandnonce - Exchange the authorization code for tokens
- Validate the ID token signature, issuer, audience and expiry
- Call
/userinfoand read the result
The guides that follow describe each of those steps. If you are using an SDK, read them when you need to understand what it is doing or debug something — not as instructions to carry out by hand.
What you still need to do
An SDK does not remove these:
- Register a client and keep the
client_secreton your server - Register your exact callback URL
- Decide what happens on each outcome — verified, not verified, cancelled, failed. See Handling Responses and Error Cases
- Store your own decision. AgeWallet is not a session store, and the access token expires in 15 minutes
No SDK for your platform?
Any OIDC-compliant library works. Point it at our discovery document and it will configure itself — see Endpoints. The openid-client example shows what that looks like end to end in Node.