在使用 Superset4 进行数据可视化时,启用 Google 认证(Google Auth)是确保账户安全的重要步骤。然而,许多用户在配置过程中遇到了各种问题,尤其是不清楚 Superset4 Google Auth 怎么填写。本文将详细讲解如何正确填写 Superset4 的 Google Auth 配置,让您的 Superset4 环境更加安全和高效。
一、为什么要使用 Google Auth 进行认证?
在 Superset4 中,用户通常需要登录才能访问数据仪表盘。使用 Google Auth 进行认证可以带来以下好处:
- 提高安全性:避免使用弱密码,提高账户安全性。
- 方便管理:无需额外创建和管理用户账户,使用已有的 Google 账号进行登录。
- 单点登录(SSO):支持与其他 Google 服务无缝集成,提高用户体验。
二、Superset4 Google Auth 怎么填写?
1. 生成 Google OAuth 2.0 凭证
要在 Superset4 中启用 Google Auth,首先需要在 Google Cloud Platform (GCP) 控制台中创建 OAuth 凭证。
步骤 1:创建项目
- 访问 Google Cloud Console 。
- 创建一个新的项目,或者选择一个现有项目。
- 确保已启用“Google Identity Platform”。
步骤 2:创建 OAuth 2.0 客户端 ID
- 在 GCP 控制台,进入 API & Services > 凭据。
- 点击 创建凭据,选择 OAuth 2.0 客户端 ID。
- 在 应用类型 中选择 Web 应用。
- 在“授权重定向 URI”中填写:
http://your-superset-domain.com/oauth-authorized/google
- 创建后,记录下 Client ID 和 Client Secret。
2. 配置 Superset4 的 Google Auth
在 Superset4 的 superset_config.py
文件中,填写以下内容:
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': '<你的 Google Client ID>',
'client_secret': '<你的 Google Client Secret>',
'api_base_url': 'https://www.googleapis.com/oauth2/v2/',
'client_kwargs': {
'scope': 'email profile',
},
'access_token_url': 'https://oauth2.googleapis.com/token',
'authorize_url': 'https://accounts.google.com/o/oauth2/auth',
}
}
]
3. 配置 ENV 变量
在 config.py
文件或环境变量中设置:
export OAUTHLIB_INSECURE_TRANSPORT=1 # 仅用于开发环境
export AUTH_TYPE=AUTH_OAUTH
4. 启动 Superset 并测试登录
- 重新启动 Superset 服务器:
superset run -p 8088 --debugger --reload
- 访问 Superset 登录页面,点击 Google 登录。
- 如果配置正确,您将被重定向到 Google 认证页面,输入 Google 账号后,即可成功登录。
三、常见问题及解决方案
1. 登录时报错 “invalid client ID”
解决方案:
- 确保
client_id
和client_secret
填写正确。 - 确保 OAuth 2.0 客户端已启用。
2. 登录成功但没有权限访问 Superset
解决方案:
- 在
superset_config.py
中添加默认角色:AUTH_USER_REGISTRATION = True AUTH_USER_REGISTRATION_ROLE = 'Gamma'
3. 登录后跳转回 Superset 页面时出错
解决方案:
- 确保
AUTH_TYPE = AUTH_OAUTH
配置正确。 - 确保 Google API 中
Authorized Redirect URIs
配置了正确的 URL。