Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions docs/migration/rownd/_category_.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
{
"label": "Rownd Migration",
"collapsible": true,
"collapsed": true,
"customProps": {},
"position": 5
}
76 changes: 76 additions & 0 deletions docs/migration/rownd/migration-steps.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
---
title: Migration Steps
hide_title: true
sidebar_position: 1
toc_max_heading_level: 3
description: Understand the Rownd to SuperTokens migration process.

Check failure on line 6 in docs/migration/rownd/migration-steps.mdx

View workflow job for this annotation

GitHub Actions / vale-lint

[vale] reported by reviewdog 🐶 [SuperTokens.spelling] This word is not recognized: 'Rownd' Raw Output: {"message": "[SuperTokens.spelling] This word is not recognized: 'Rownd'", "location": {"path": "docs/migration/rownd/migration-steps.mdx", "range": {"start": {"line": 6, "column": 29}}}, "severity": "ERROR"}
page_type: tutorial
category: migration
---

# Migration steps

<DescriptionText>
Move your Rownd users, sessions, and compatible authentication flows to **SuperTokens** without any breaking changes
</DescriptionText>

<Separator />


## Overview

Before going into the migration flow, you need to understand how the **Rownd** and **SuperTokens** architectures differ.

Check failure on line 22 in docs/migration/rownd/migration-steps.mdx

View workflow job for this annotation

GitHub Actions / vale-lint

[vale] reported by reviewdog 🐶 [SuperTokens.spelling] This word is not recognized: 'Rownd' Raw Output: {"message": "[SuperTokens.spelling] This word is not recognized: 'Rownd'", "location": {"path": "docs/migration/rownd/migration-steps.mdx", "range": {"start": {"line": 22, "column": 72}}}, "severity": "ERROR"}
Unlike with other providers, the **SuperTokens Client SDKs** never talk to the Authentication Service directly.
All the requests target your existing backend where you integrate our server SDKs.

Check warning on line 24 in docs/migration/rownd/migration-steps.mdx

View workflow job for this annotation

GitHub Actions / vale-lint

[vale] reported by reviewdog 🐶 [SuperTokens.pronouns] Avoid first-person pronouns such as 'our'. Raw Output: {"message": "[SuperTokens.pronouns] Avoid first-person pronouns such as 'our'.", "location": {"path": "docs/migration/rownd/migration-steps.mdx", "range": {"start": {"line": 24, "column": 67}}}, "severity": "WARNING"}
Those in turn expose the authentication routes and communicate with the **SuperTokens Core** service which provides user and session storage.

Compared to Rownd, in SuperTokens you have to:

Check failure on line 27 in docs/migration/rownd/migration-steps.mdx

View workflow job for this annotation

GitHub Actions / vale-lint

[vale] reported by reviewdog 🐶 [SuperTokens.spelling] This word is not recognized: 'Rownd' Raw Output: {"message": "[SuperTokens.spelling] This word is not recognized: 'Rownd'", "location": {"path": "docs/migration/rownd/migration-steps.mdx", "range": {"start": {"line": 27, "column": 13}}}, "severity": "ERROR"}
- Integrate a separate backend SDK into your application
- Configure authentication methods and customizations through code configuration passed to the SDKs
- Setup a separate backend plugin that ensures compatibility between the legacy Rownd APIs and the SuperTokens functionality

Check failure on line 30 in docs/migration/rownd/migration-steps.mdx

View workflow job for this annotation

GitHub Actions / vale-lint

[vale] reported by reviewdog 🐶 [SuperTokens.spelling] This word is not recognized: 'Rownd' Raw Output: {"message": "[SuperTokens.spelling] This word is not recognized: 'Rownd'", "location": {"path": "docs/migration/rownd/migration-steps.mdx", "range": {"start": {"line": 30, "column": 81}}}, "severity": "ERROR"}

## Migration steps

Each step of the migration process requires an existing SuperTokens backend integration in your application.
The following steps give you an overview over the process.
For detailed instructions on how to integrate SDKs you can read [the full guide](/docs/migration/rownd/sdk-integration-guide).

:::info no-title

The migration flow is not designed to be self service.
Please get in touch with the [SuperTokens team](mailto:support@supertokens.com) for assistance during the whole process.

:::

### 1. Lazy migration

Update your existing Rownd client libraries to the latest version.

Check failure on line 47 in docs/migration/rownd/migration-steps.mdx

View workflow job for this annotation

GitHub Actions / vale-lint

[vale] reported by reviewdog 🐶 [SuperTokens.spelling] This word is not recognized: 'Rownd' Raw Output: {"message": "[SuperTokens.spelling] This word is not recognized: 'Rownd'", "location": {"path": "docs/migration/rownd/migration-steps.mdx", "range": {"start": {"line": 47, "column": 22}}}, "severity": "ERROR"}
With this you will enable the following behavior: after a successful sign-up, the SDK will call the migration endpoint exposed by the compatibility plugin.

Check warning on line 48 in docs/migration/rownd/migration-steps.mdx

View workflow job for this annotation

GitHub Actions / vale-lint

[vale] reported by reviewdog 🐶 [SuperTokens.tense] Avoid temporal words like 'will'. Raw Output: {"message": "[SuperTokens.tense] Avoid temporal words like 'will'.", "location": {"path": "docs/migration/rownd/migration-steps.mdx", "range": {"start": {"line": 48, "column": 87}}}, "severity": "WARNING"}

Check warning on line 48 in docs/migration/rownd/migration-steps.mdx

View workflow job for this annotation

GitHub Actions / vale-lint

[vale] reported by reviewdog 🐶 [SuperTokens.tense] Avoid temporal words like 'will'. Raw Output: {"message": "[SuperTokens.tense] Avoid temporal words like 'will'.", "location": {"path": "docs/migration/rownd/migration-steps.mdx", "range": {"start": {"line": 48, "column": 15}}}, "severity": "WARNING"}
This phase ensures that no users are missed during the bulk migration flow.

Check warning on line 49 in docs/migration/rownd/migration-steps.mdx

View workflow job for this annotation

GitHub Actions / vale-lint

[vale] reported by reviewdog 🐶 [SuperTokens.passive] 'are missed' looks like passive voice. Raw Output: {"message": "[SuperTokens.passive] 'are missed' looks like passive voice.", "location": {"path": "docs/migration/rownd/migration-steps.mdx", "range": {"start": {"line": 49, "column": 34}}}, "severity": "INFO"}
This is necessary since there is a time gap between when you export all your data for bulk import and when you go live with **SuperTokens**.

### 2. Bulk migration

This step is performed by the SuperTokens team.

Check warning on line 54 in docs/migration/rownd/migration-steps.mdx

View workflow job for this annotation

GitHub Actions / vale-lint

[vale] reported by reviewdog 🐶 [SuperTokens.passive] 'is performed' looks like passive voice. Raw Output: {"message": "[SuperTokens.passive] 'is performed' looks like passive voice.", "location": {"path": "docs/migration/rownd/migration-steps.mdx", "range": {"start": {"line": 54, "column": 11}}}, "severity": "INFO"}
Once you have deployed the updated Rownd client libraries and confirmed that the migration works, you can start the next step.

Check failure on line 55 in docs/migration/rownd/migration-steps.mdx

View workflow job for this annotation

GitHub Actions / vale-lint

[vale] reported by reviewdog 🐶 [SuperTokens.spelling] This word is not recognized: 'Rownd' Raw Output: {"message": "[SuperTokens.spelling] This word is not recognized: 'Rownd'", "location": {"path": "docs/migration/rownd/migration-steps.mdx", "range": {"start": {"line": 55, "column": 36}}}, "severity": "ERROR"}
The migration will copy all your existing users from the Rownd account to the newly created SuperTokens core instance.

Check failure on line 56 in docs/migration/rownd/migration-steps.mdx

View workflow job for this annotation

GitHub Actions / vale-lint

[vale] reported by reviewdog 🐶 [SuperTokens.spelling] This word is not recognized: 'Rownd' Raw Output: {"message": "[SuperTokens.spelling] This word is not recognized: 'Rownd'", "location": {"path": "docs/migration/rownd/migration-steps.mdx", "range": {"start": {"line": 56, "column": 58}}}, "severity": "ERROR"}

Check warning on line 56 in docs/migration/rownd/migration-steps.mdx

View workflow job for this annotation

GitHub Actions / vale-lint

[vale] reported by reviewdog 🐶 [SuperTokens.tense] Avoid temporal words like 'will'. Raw Output: {"message": "[SuperTokens.tense] Avoid temporal words like 'will'.", "location": {"path": "docs/migration/rownd/migration-steps.mdx", "range": {"start": {"line": 56, "column": 15}}}, "severity": "WARNING"}

### 3. Cutover

Check failure on line 58 in docs/migration/rownd/migration-steps.mdx

View workflow job for this annotation

GitHub Actions / vale-lint

[vale] reported by reviewdog 🐶 [SuperTokens.spelling] This word is not recognized: 'Cutover' Raw Output: {"message": "[SuperTokens.spelling] This word is not recognized: 'Cutover'", "location": {"path": "docs/migration/rownd/migration-steps.mdx", "range": {"start": {"line": 58, "column": 8}}}, "severity": "ERROR"}

Replace the Rownd client SDKs with the SuperTokens Rownd-compatible clients.

Check failure on line 60 in docs/migration/rownd/migration-steps.mdx

View workflow job for this annotation

GitHub Actions / vale-lint

[vale] reported by reviewdog 🐶 [SuperTokens.spelling] This word is not recognized: 'Rownd' Raw Output: {"message": "[SuperTokens.spelling] This word is not recognized: 'Rownd'", "location": {"path": "docs/migration/rownd/migration-steps.mdx", "range": {"start": {"line": 60, "column": 13}}}, "severity": "ERROR"}
The [SDK integration guide](/docs/migration/rownd/sdk-integration-guide) goes into detail on how to do this.
After cutover, authentication traffic goes through SuperTokens while your application uses Rownd-compatible APIs.


#### Compatibility model

The migration is designed to preserve the Rownd-facing integration surface where possible.

Check warning on line 67 in docs/migration/rownd/migration-steps.mdx

View workflow job for this annotation

GitHub Actions / vale-lint

[vale] reported by reviewdog 🐶 [SuperTokens.passive] 'is designed' looks like passive voice. Raw Output: {"message": "[SuperTokens.passive] 'is designed' looks like passive voice.", "location": {"path": "docs/migration/rownd/migration-steps.mdx", "range": {"start": {"line": 67, "column": 15}}}, "severity": "INFO"}
Frontend APIs such as `requestSignIn()`, `signOut()`, `getAccessToken()`, profile management, and signed-in state continue to be exposed by the SuperTokens Rownd SDKs.

Check warning on line 68 in docs/migration/rownd/migration-steps.mdx

View workflow job for this annotation

GitHub Actions / vale-lint

[vale] reported by reviewdog 🐶 [SuperTokens.passive] 'be exposed' looks like passive voice. Raw Output: {"message": "[SuperTokens.passive] 'be exposed' looks like passive voice.", "location": {"path": "docs/migration/rownd/migration-steps.mdx", "range": {"start": {"line": 68, "column": 127}}}, "severity": "INFO"}
Authentication UIs are preserved as well as the Rownd specific session claims.

Check warning on line 69 in docs/migration/rownd/migration-steps.mdx

View workflow job for this annotation

GitHub Actions / vale-lint

[vale] reported by reviewdog 🐶 [SuperTokens.passive] 'are preserved' looks like passive voice. Raw Output: {"message": "[SuperTokens.passive] 'are preserved' looks like passive voice.", "location": {"path": "docs/migration/rownd/migration-steps.mdx", "range": {"start": {"line": 69, "column": 20}}}, "severity": "INFO"}

## Next steps

Continue with the [SDK Integration Guide](/docs/migration/rownd/sdk-integration-guide). The backend plugin must be deployed before clients can migrate sessions or use SuperTokens-backed Rownd flows.

After the backend is working, use the same guide to configure your frontend or mobile client platform.

Loading
Loading