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

Authentication for apps

The landing page of the authentication pages for app developers - the three credentials Exponential accepts from programs (OAuth2 tokens, personal API keys, expservices tokens), the default that every REST call needs a…

Download as PDF

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

On this page

Authentication for apps

This folder is for app developers who have to sign an app, or its users, in to Exponential. It explains the credentials the server accepts, how each one is obtained and sent, and how to keep them safe on a device.

Contents

  1. The default: every call needs a user
  2. Three credentials
  3. Pages in this folder

The default: every call needs a user

rest.ini [Authentication] RequireAuthentication=enabled is the default: every REST content route needs a user. An administrator can set it to disabled, and then every request runs as DefaultUserID (or the anonymous user), with the permission checks still applied (REST API v1 and v2: configuration). That is a server decision with consequences for every client; do not ask for it only to skip sign-in in an app.

The remote services work differently: services whose access is public answer anonymous calls, all others need a signed-in user (Calling expservices from an app).

Three credentials

CredentialLooks likeSent asAccepted byRead
OAuth2 access tokenan alphanumeric stringAuthorization: OAuth <token> or Bearer <token>RESTOAuth2 authorization code flow
Personal API keyexpk_<12 characters>_<40 characters>Authorization: Bearer expk_...RESTPersonal API keys for tools
expservices tokenexpt_ and 48 hex charactersAuthorization: Bearer expt_... and X-Exp-Token: expt_...expservicesexpservices tokens in apps

HTTP basic authentication can be configured for REST instead of OAuth (AuthenticationStyle=ezpRestBasicAuthStyle), but that means sending a password with every request; this section does not recommend it for apps.

Pages in this folder

PageAnswers
Choosing a credentialWhich credential for which kind of app
OAuth2 authorization code flowRegistering the client, the authorize page, the token endpoint, refreshing
A back end for your appWhy the client secret stays on a server, and how to build that server
Personal API keys for toolsKeys for your own scripts, tests and internal tools
expservices tokens in appsSigning in to the remote services and making a token
Storing secrets on devicesKeychain, Keystore and what never to store
The Authorization header and proxiesWhy a valid credential can still arrive as nothing

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