Superset SSO with Google integration

Kaiwalya Koparkar
Elestio
Published in
3 min readJun 23, 2024

We will be knowing more about Superset SSO with Google integration. Seamless Integration of Superset with Google SSO for Enhanced Data Analysis

Understanding Superset SSO with Google Integration

Incorporating Single Sign-On (SSO) with Google in Apache Superset not only streamlines the authentication process but also enhances the overall user experience. Here’s a detailed guide on how to set it up:

Prerequisites

  1. Admin access to the Superset instance.
  2. A Google Cloud Platform account.

Configuration Steps

  1. Create OAuth 2.0 Client ID in Google Cloud Platform:
  • Go to APIs & Services > Credentials.
  • Click on “Create credentials” and select “OAuth client ID.”
  • Configure the consent screen and set the authorized redirect URI to your Superset callback URL.
  1. Configure Superset:

Navigate to superset_config.py and set AUTH_TYPE to AUTH_OAUTH.

  • Map User Information:
  • Ensure accurate mapping of user details from Google’s OAuth response to Superset’s user model.

Testing the Integration

  1. Try logging in to Superset using the “Sign in with Google” option.
  2. Confirm that user details are correctly populated, and permissions are appropriately assigned.

Troubleshooting

  • Verify the callback URL and client ID/secret if authentication issues arise.
  • Double-check the user mapping configuration for any inconsistencies.

Configure Superset: Edit the superset_config.py file to integrate Google OAuth settings properly.

from flask_appbuilder.security.manager import AUTH_OAUTH AUTH_TYPE = AUTH_OAUTH OAUTH_PROVIDERS = [{ 'name':'google', 'icon':'fa-google', 'token_key':'access_token', 'remote_app': { 'client_id':'YOUR_GOOGLE_CLIENT_ID', 'client_secret':'YOUR_GOOGLE_CLIENT_SECRET', 'api_base_url':'https://www.googleapis.com/oauth2/v2/', 'client_kwargs':{ 'scope': 'email profile' }, 'request_token_url':None, 'access_token_url':'https://accounts.google.com/o/oauth2/token', 'authorize_url':'https://accounts.google.com/o/oauth2/auth', } }]

Create OAuth Credentials: Visit the Google Cloud Platform, create a new project, and generate OAuth 2.0 credentials. Utilize the client_id and client_secret provided within the configuration above.

Redirect URIs: In the Google Cloud Platform credentials settings, add the authorized redirect URIs, typically http://YOUR_SUPERSET_URL/oauth-authorized/google.

Finalize Setup: Restart Superset to implement the changes effectively. Users can now effortlessly sign in using their Google accounts.

Ensure the content provided is unique and does not replicate other sections, such as general installation procedures or database connections.

Setting Up Google Sheets as a Data Source in Superset

Integrating Google Sheets with Apache Superset requires the utilization of the shillelagh connector library. Follow these steps to seamlessly connect Google Sheets to Superset:

Install Shillelagh: Ensure that the shillelagh library is installed in your Superset environment to facilitate the integration.

Create API Credentials: Set up the Google Sheets API within your Google Cloud Console and obtain the necessary credentials required for authentication.

Configure Superset: Add a new database connection in Superset, utilizing the SQLAlchemy URI format provided by shillelagh. This format typically begins with gsheets:// followed by the relevant parameters.

Test Connection: Validate the connection between Superset and your Google Sheets by utilizing the ‘Test Connection’ functionality to ensure successful communication.

For advanced configurations, such as implementing Single Sign-On (SSO) with Google, consult the superset sso google documentation. This enables users to authenticate seamlessly using their Google accounts, thereby enhancing the data access process.

Ensure that the content provided remains distinct and does not replicate information covered in other sections, such as connections to Elasticsearch or BigQuery, and instead focuses on the unique process of connecting Google Sheets.

Troubleshooting SSO Challenges in Superset with Google Integration

While implementing Single Sign-On (SSO) between Apache Superset and Google, users may encounter various issues. Below are some common challenges along with their solutions to ensure a smooth SSO setup:

By addressing these common challenges, users can ensure the reliability and security of their Superset SSO integration with Google.

Thanks for reading ❤️

Thank you so much for reading and do check out the Elestio resources and Official Superset documentation to learn more about Superset. You can click the button below to create your service on Elestio. See you in the next one👋

Originally published at https://blog.elest.io on June 23, 2024.

--

--