Starter or above plan is required.

To integrate the All-In-Widget into your mobile app, simply follow these steps:

Create a WebView

Create a WebView component in your mobile app to display your public hub.

https://workspace-name.supahub.com/widget

Automatic User Login with SSO

To enable automatic user login, you can pass an additional jwtToken parameter to the WebView URL. This parameter should contain a JWT that you generate on the server-side.

By including the JWT token in the URL, users will be automatically logged in to the Supahub widget when it loads.

Here’s what you need to do:

  1. Log in to acquire your private key from SSO settings. Ensure that you store this key securely on your server and prevent unauthorized access.

  2. When a user visits the widget, send a request to your server to generate a JWT token.

  3. Generate a token on your server with customer data using the provided snippet.

  4. Pass the generated JWT token to the Supahub widget for authentication.

SSO Setup

1

Install JWT packages

Install the required packages for JWT token generation on your server.

npm install --save jsonwebtoken
2

Generate the JWT token

Copy and use the “Private Key” from SSO settings to generate a JWT token on your server.

var jwt = require("jsonwebtoken");
const SSO_KEY = "YOUR_PRIVATE_SSO_KEY";

function generateJWTToken(user) {
    var userData = {
        email: user.email,
        name: user.name,
    };

    // The userData object can include any additional details you wish to provide about a user to Supahub. Ensure to follow the same format shown in the Supahub.identify method, as outlined at https://docs.supahub.com/identify/user

    return jwt.sign(userData, SSO_KEY, {
        algorithm: "HS256",
    });
}

Private Key should be kept secure and not to be shared. Add it in your .env file.

To enhance security measures, Single Sign-On (SSO) tokens are restricted from authenticating users with administrative privileges within any Supahub workspace. Instead, these users will need to log in using the dedicated portal at workspace.supahub.com

3

Pass the token back to your app and into the URL

The token will be used for user authentication.

https://workspace-name.supahub.com/widget?jwtToken=payload