RAMSESDeveloper Console

IOS AND ANDROID

Open Ramses.Superapp directly.

Create a short-lived authorization request in the background, open the returned app URI, and receive the result through your registered callback.

1. Create the handoff

Generate state, nonce, and an S256 PKCE challenge on the device, then call the native authorization endpoint over HTTPS.

POST https://app.ramses.org/identity/oauth/native_authorization
Content-Type: application/json

{
  "client_id": "YOUR_NATIVE_CLIENT_ID",
  "redirect_uri": "your-app://auth/ramses",
  "scope": "openid profile.basic",
  "state": "RANDOM_VALUE",
  "nonce": "RANDOM_VALUE",
  "code_challenge": "PKCE_CHALLENGE",
  "code_challenge_method": "S256"
}

2. Open Ramses.Superapp

Open app_uri first. If the operating system cannot open it because Ramses.Superapp is not installed, open verification_uri as the browser fallback.

{
  "app_uri": "rs-superapp://portal-login/OPAQUE_TOKEN",
  "verification_uri": "https://app.ramses.org/device/OPAQUE_TOKEN",
  "expires_in": 120
}

3. Handle the return

After approval, Ramses.Superapp opens your registered callback with a one-time code and the original state:

your-app://auth/ramses?code=ONE_TIME_CODE&state=ORIGINAL_STATE
  1. Confirm the returned state exactly matches the pending request.
  2. Exchange the code with the original PKCE verifier. Do not send a client secret.
  3. Store refresh credentials in iOS Keychain or Android Keystore-backed storage.