Single sign-on (SSO) authentication & data sync setup

Replace the entire Featurebase authentication system with your own app’s login system.

BfF

Written By Bruno from Featurebase

Last updated 10 days ago

To make the experience of Featurebase even more seamless for your users, we recommend implementing SSO.

This will let users always sign in with the account they already have with you so they don’t have to worry about creating yet another account for Featurebase.


With SSO you will also be able to make your Featurebase organization only accessible to private user groups (e.g. only your customers, beta testers, etc..). More info on this can be found here:

Setting up SSO for the widgets

Here’s a quick rundown of what you need to do:

  • Generate a JWT by following the JWT Creation Guide. Store it on your server and make sure to not share it with anyone!

  • When a user wants to use the Featurebase widget, send a request to your server to generate a JWT.

  • On your server, generate a JWT with your customer data using the example below.

  • Finally, input this JWT value to any Featurebase widget as: jwtToken:valueOfToken

    Example:

    // implement generateJWT function to get jwt from your server
    
    const valueofToken = generateJWT()
    
    Featurebase("initialize_feedback_widget", {
      organization: "yourorg", // Replace this with your organization name
      // ...otherParams,
      jwtToken: valueofToken,
    });

If you run into any issues or have questions, please reach out to our support.

✅ All done! You’ve successfully implemented JWT authentication for widgets.

Setting up SSO for the public portal

This process involves setting up a dedicated page on your website to handle SSO authentication, creating and managing JWT tokens, and finally authenticating your users with Featurebase.

Here's a summary of the authentication flow:

  • Your user wishes to authenticate and clicks on the Login with YourCompany account button on your feedback board.

  • We redirect them to your website’s custom login page and append the return_to parameter to the URL.
    https://yourwebsite.com/sso/featurebase?return_to=https://yourorg.featurebase.app/roadmap

  • Your authentication system logs the user into your website and creates a JWT token.

  • You return the user back to Featurebase with the generated token and the original return_to parameter passed along.
    https://yourorg.featurebase.app/api/v1/auth/access/jwt?jwt=payload&return_to=https://yourorg.featurebase.app/roadmap

  • Featurebase logs the user in and automatically returns them back to where they started the authentication process.

1. Set up a dedicated SSO page

Set up a page on your website that will authenticate the user on your end (e.g https://yourdomain.com/sso/featurebase)

Next, navigate to your Featurebase Dashboard → Settings → SSO, and enter the URL of the page you created in the SSO URL field. This is where Featurebase will redirect users who wish to log in through your app's account.

2. User authentication and JWT token creation

When a user arrives on your SSO page, authenticate them using your app's authentication system and create a JWT Token for them by following this guide.

3. Return the user back to Featurebase

Redirect the user to the Featurebase JWT endpoint with the JWT and return_to URL.
https://yourorg.featurebase.app/api/v1/auth/access/jwt?jwt=payload&return_to=https://yourorg.featurebase.app/roadmap

If you run into any issues or have questions, please reach out to our support.

✅ All done! You’ve successfully implemented JWT authentication for the public portal.