Register Your App
Get your client ID from the Flowsta Developer Dashboard.
Whether you're building a web app with OAuth or a desktop Holochain app with identity linking, you need a registered app and a client ID.
Step 1: Create a Developer Account
- Go to dev.flowsta.com
- Sign in with your Flowsta identity - you approve the sign-in in your Vault
Step 2: Create an Application
Click Create New App. The dialog has three steps for OAuth apps and two for Holochain apps.
Create New App (step 1):
- App Name - shown to users on the OAuth consent screen or in the Vault approval dialog
- Description (optional) - a brief description of your app
- App Type - OAuth Web App or Holochain App. Desktop apps that talk to the Vault over local IPC register as Holochain apps.
Click Next.
Permissions (step 2): tick the scopes your app needs (tables below). A Holochain app finishes here with Create App; an OAuth Web App clicks Next.
Redirect URIs (step 3, OAuth Web App only): add the URLs users return to after signing in, then click Create App.
Step 3: Configure Your App
Configuration differs based on your integration path. Everything below can be changed later from the app's page (Save Settings).
For Web Apps (OAuth)
Redirect URIs
Add the URLs where users are redirected after authentication:
http://localhost:3000/auth/callback (development)
https://yourapp.com/auth/callback (production)TIP
Add both development and production URIs. You can add multiple redirect URIs.
Select Scopes
Choose which user data your app needs:
| Scope | Portal label | Data | Notes |
|---|---|---|---|
openid | User Identifier | User ID (sub) | Always on |
display_name | Display Name | Display name | |
username | Username | Username | |
email | Email address | The user chooses at the consent screen whether to share the address held in their Vault; you receive it only if they do | |
profile_picture | Profile Picture | Profile picture URL | |
did | Decentralized ID | W3C Decentralized Identifier | |
public_key | Public Key | Holochain agent public key | |
sign | Document Signing | Sign files and manage signatures | Marked as sensitive in the portal; every Sign It integration needs it |
For Holochain Apps (Identity Linking)
Holochain apps don't need redirect URIs, but they do select scopes. Scopes control which profile fields Flowsta Vault exposes to your app via its local IPC server (GET /status on port 27777, or the next free port up to 27779). The user sees the selected scopes listed in the Vault approval dialog before they approve.
Select Scopes
| Scope | Portal label | What your app receives via /status |
|---|---|---|
openid | User Identifier | Basic identity - always on, not shown to the user |
did | Decentralized ID | did - the user's decentralized identifier |
public_key | Public Key | agent_pub_key - the Vault's Holochain agent key |
holochain | Holochain Access | Granted by default to Holochain apps; shown to the user as "Holochain identity" |
display_name | Display Name | display_name - the user's display name |
username | Username | web_username - the user's @username |
profile_picture | Profile Picture | profile_picture - avatar URL |
Select only the scopes your app actually uses. Fields for unselected scopes are returned as null from /status, even if the user has that data in their Vault.
The app name, your organization, and the selected scopes are what users see in the Vault approval dialog:
Your App Name
by Your Organization
This app will be able to access:
Decentralized ID (DID)
Public key
Holochain identity
Display name
[Deny] [Allow]When an app re-links an identity that was linked before, the confirm button reads Update.
Companion web app (optional)
If your desktop app has a web app of its own (a dashboard, billing, an account page), register that web app as an OAuth app too, then open the desktop app's Integration Settings → Edit Settings and pick it under Companion web app. With a companion declared, the desktop app can open the web app in the browser already signed in as the same identity, with no second Vault approval and nothing for the person to type. The desktop app calls openWebSignedIn() from @flowsta/holochain 3.9.0; the web app's callback page needs @flowsta/login-button 0.2.0 or later. See Open your web app signed in.
Step 4: Copy Your Client ID
Your client ID looks like: flowsta_app_abc123def456...
Use this in your SDK configuration:
Web App:
const auth = new FlowstaAuth({
clientId: 'flowsta_app_abc123def456',
redirectUri: 'https://yourapp.com/auth/callback'
});Holochain App:
const result = await linkFlowstaIdentity({
appName: 'YourApp',
clientId: 'flowsta_app_abc123def456',
localAgentPubKey: myAgentKey,
});No Client Secret
Flowsta uses PKCE for web apps and IPC for desktop apps - no client secret needed for either path.
Next Steps
- Quick Start - Implement authentication (Web or Holochain)
- Web Auth Guide - OAuth flow documentation
- Vault Guide - Holochain identity linking
- Login Button - Pre-built button components for web