Skip to the content
Documentation
Help Start
Reading in:
  • German: 9,059 of 9,059 pages
About the help in other languages
All help pages

Choosing a credential

Pick the right credential for each kind of app on Exponential - a public reader app, an app whose users sign in, an internal staff app, a kiosk, a development build - with the reasons, the accounts to create and what…

Download as PDF

Address: https://doc.exponential.earth/exphelp/viewer/help/mobile-app-developers/auth/choosing-a-credential.md

On this page

Choosing a credential

This page is for app developers and technical leads who decide how an app authenticates. The right choice depends on whom the app acts for, and on whether a secret can be kept where the code runs.

Contents

  1. The rule
  2. By kind of app
  3. Accounts to create
  4. Never

The rule

A credential is a user. Whatever an app sends, the server runs the call as one user account and checks that account's policies (How Exponential content reaches an app). So the question is not "which token format" but "which user should this call run as, and who can see the secret".

By kind of app

AppRuns asCredentialWhere the secret lives
Public reader app (news, catalog), no sign-inone read-only integration usera personal API key or OAuth token of that user, held by your back end, which calls Exponential for the appyour server
App whose users sign in with their Exponential accounteach userOAuth2 authorization code flow through your back endclient secret on your server; tokens on the device or on your server
Internal staff app on managed deviceseach staff memberOAuth2, or expservices tokens made at first sign-indevice secure storage
Kiosk or display screenone read-only user for that screena personal API key with the read scope, one per devicethe device, managed by IT
Development and testsa test usera personal API key on a test installationenvironment variables, a CI secret

The first row deserves explaining: a published app is public code. Anything bundled in it, a key, a token or a client secret, can be extracted. A read-only user limits the damage but does not remove it; a back end that holds the credential, adds caching and can be changed without an app release is the robust design (A back end for your app).

Accounts to create

  • One integration user per app, never a person's account and never the administrator.
  • A role per app with only the policies it needs: content/read limited to the sections or subtrees the app shows, and write policies only below the folder the app writes to (Permissions for app users).
  • One credential per installation of a tool, so one can be revoked alone (OAuth and API keys: good practice).

Never

  • Never ship a personal API key, an expservices token or an OAuth client secret inside an app.
  • Never use the administrator account, or any account with setup rights, for an app.
  • Never send a credential in a URL: an API key in the query string is refused even when valid, and URLs end up in logs.
  • Never ask users for their Exponential password inside a native app screen and store it; if your app signs in to the remote services with a password, send it once and keep only the token it makes (expservices tokens in apps).

Become an Exponential Partner

Partners share their information, provide funding, contribute back and develop the products with us, and that is how Exponential grows. A partner website and dashboard are planned for mid-2027: please become a partner today to speed up our growth rate and land new features faster.

Something wrong on this page? Report an error

Documentation license

This documentation is free documentation, licensed under the GNU Free Documentation License 1.3 or later.

Exponential Copyright © 1998-2026 Exponential Foundation and 7x