Single Sign-On for Public Voting Boards

Voting boards let your customers make and vote for the features they want, directly from your website.

Savio’s voting boards are flexible: our Single Sign-On (SSO) feature makes it easy for users of your app to contribute to a voting board without having to create a Savio account.

In this article, we explain everything you need to know about how to set up SSO and several ways you can configure your voting board to meet your needs. We’ll cover:

Why set up Single Sign-On (SSO)

By default, to vote or create a feature request on a voting board, a user needs to create a free Savio account. That makes it more difficult for people to anonymously spam your voting board.

But you may not want your users to have to create a free Savio account. You may prefer that they sign in to your app instead of Savio. That way, they don’t need to create a Savio account to contribute to your voting board.

SSO lets your users authenticate against your app instead of creating a new user account in Savio. The SSO process goes like this:

  1. The user visits your voting board that lives on Savio.io.

  2. They click “log in”.

  3. They are taken to a log in page on your site.

  4. They log in and are authenticated against your app.

  5. They are redirected back to Savio.

  6. And they are now logged into your voting board on Savio.io.

How to set up SSO

Here’s how to set up SSO.

Note: You’ll need a developer to help set up SSO.

1. Log into Savio, click “Voting Board” in the left-hand menu, and then click the edit icon beside the voting board.

2. Scroll down and select “Manage Single Sign-On (SSO)”.

3. Configure your SSO settings.

  • Enabled: This turns SSO on or off. Select “Yes” to enable SSO.

  • Login URL: This is the URL for a login page in your app. When users try to access your voting board in Savio, Savio will direct them to this URL to log in. You’ll need a developer to create this page on your website.

  • Private key: Savio uses this token to authenticate your website and users. Your developers will need this to set up SSO.

In addition to enabling SSO and configuring your login URL in Savio, you need to do these additional steps in your application to complete the setup. Again, this will require a developer to complete.

4. Generate JWTs in your app.

Create a page in your app that authenticates users. Once the user logs in to your app, your app should generate a JWT with the following information.

Variable Example Required

email

bob@example.com

Yes

first_name

Bob

No

last_name

Jones

No

For example, you could use the following code if your app was built with Python:

Note: Use the string from the “Private key” field in place of “YOUR_PRIVATE_KEY”.

5. Redirect Back to Savio SSO Login Page.

Once you've authenticated the user and generated the JWT, redirect back to your Savio voting board's SSO endpoint.

For example, your redirect address would look like this:

6. Now you've authenticated your user against your app, and passed a JWT to Savio telling Savio who the user is. That allows them to log into Savio and contribute to your voting board.

Read more: How To Configure Voting Boards for Four Different Kinds of Access

Need help setting up SSO? Just get in touch and we’ll get you sorted.

Last Updated: October 25 2021