Skip to content

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 ​

  1. Go to dev.flowsta.com
  2. 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:

ScopePortal labelDataNotes
openidUser IdentifierUser ID (sub)Always on
display_nameDisplay NameDisplay name
usernameUsernameUsername
emailEmailEmail addressThe user chooses at the consent screen whether to share the address held in their Vault; you receive it only if they do
profile_pictureProfile PictureProfile picture URL
didDecentralized IDW3C Decentralized Identifier
public_keyPublic KeyHolochain agent public key
signDocument SigningSign files and manage signaturesMarked 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 ​

ScopePortal labelWhat your app receives via /status
openidUser IdentifierBasic identity - always on, not shown to the user
didDecentralized IDdid - the user's decentralized identifier
public_keyPublic Keyagent_pub_key - the Vault's Holochain agent key
holochainHolochain AccessGranted by default to Holochain apps; shown to the user as "Holochain identity"
display_nameDisplay Namedisplay_name - the user's display name
usernameUsernameweb_username - the user's @username
profile_pictureProfile Pictureprofile_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:

typescript
const auth = new FlowstaAuth({
  clientId: 'flowsta_app_abc123def456',
  redirectUri: 'https://yourapp.com/auth/callback'
});

Holochain App:

typescript
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 ​

Documentation licensed under CC BY-SA 4.0.