Skip to main content

Octopus Developer Guide

Introduction: What is Octopus?

Octopus is an SDK that enables you to integrate a fully customizable social network into your app, perfectly aligned with your branding.

Octopus handles all the technical complexities for you—UI, back-end, storage—as well as operational tasks, including moderation, content creation to engage the community, and analytics. You can seamlessly integrate all these features using our native Android and iOS SDKs.

With Octopus, you can create “community” buttons within your app and place them anywhere you like. These buttons direct users to the Octopus Community Home page. You have full control over their design and labeling. The UI of Octopus pages is fully customizable—colors, typography, and logo—ensuring a seamless match with your app’s look and feel, all without requiring any technical effort on your part.

You can implement SSO (Single Sign-On) to automatically retain your users' profile information (name, photo, age, bio) in Octopus without requiring a separate login. If any required details are missing, users can add them directly within Octopus. If you don’t have a user profile system, Octopus can create profiles for your users and handle authentication.

Inside Octopus, users can chat, post content (text or images), like, comment, and browse a feed—offering all the core features of the social networks they are familiar with. The experience is smooth, fast, and premium, meeting the standards of leading social apps.

Example of integration in app ↗️

User Authentication

Octopus offers two ways to manage user authentication: Octopus delegated authentication and SSO (Single Sign-On). We recommend using SSO for a seamless integration between your user base and the community. However, this requires your application to have a server backend to generate user authentication tokens (JSON Web Tokens — JWT).

Octopus Authentication

This method allows you to integrate Octopus quickly, with no backend development required. Octopus handles both user account creation and authentication.

It uses a passwordless authentication method called "Magic Link". Users enter their email in the Octopus interface within your application, and they receive an email from us with a login link. When they return to the application, they are automatically logged in and can set up their community profile if they are using your community for the first time.

How does it look?
info

Note: with custom themes, you can brand the login screen with your own logo

SSO Authentication

This integration mode allows users to be automatically logged into the community within your mobile application. If a user has an account in your application and is already logged in, they won’t need to authenticate again to access the community.

To implement this feature securely, you must add a new API route capable of generating an authentication JWT using a secret key (see Generate a signed JWT for SSO). This secret key must never be included in your mobile application code and should only be known by your servers.

This is the recommended integration for the best user experience, as well as for maintaining control over your user base and access to the community.

Integration in 4 steps

  1. Get an API key from us: identifies your community in our systems

  2. (Optional, for SSO) Get a secret signing key from us: needed to identify your users securely

  3. Integrate the SDK into your mobile application

    By default, two communities will be created for you, one sandbox community for your development and testing, and one production community for your real users. Any content created in one community will not be displayed in the other.
    You will get an API key for each community.

    Chose the right guide for your integration type:

    SSO: 📱 iOS SDK Setup Guide (SSO) and 🤖 Android SDK Setup Guide (SSO)

    Octopus Auth: 📱 iOS SDK Setup Guide and 🤖 Android SDK Setup Guide

  4. (Optional, for SSO) Add a route inside your backend to sign user identification tokens

    To identify a user and prevent unauthorized use of your community and user impersonation, your backend must generate a signed token (using the JWT standard) with a secret signing key provided by Octopus. The JWT will include a unique user ID shared between your systems and Octopus:

    🔑 Generate a signed JWT for SSO

    The SDK’s connectUser() requires this JWT to sign in the user in the community, see 📱 iOS SDK Setup Guide and 🤖 Android SDK Setup Guide