You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@superset.apache.org by "maclynnbrandlock (via GitHub)" <gi...@apache.org> on 2026/03/10 06:53:52 UTC

[D] How do I enable both db login and google login in superset 6 [superset]

GitHub user maclynnbrandlock created a discussion: How do I enable both db login and google login in superset 6

How do I enable both db login and google login in superset 6

GitHub link: https://github.com/apache/superset/discussions/38537

----
This is an automatically sent email for notifications@superset.apache.org.
To unsubscribe, please send an email to: notifications-unsubscribe@superset.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org
For additional commands, e-mail: notifications-help@superset.apache.org


Re: [D] How do I enable both db login and google login in superset 6 [superset]

Posted by "sfirke (via GitHub)" <gi...@apache.org>.
GitHub user sfirke added a comment to the discussion: How do I enable both db login and google login in superset 6

Agreed that this is not possible out of the box due to limitations with FAB, which Superset uses for auth.

GitHub link: https://github.com/apache/superset/discussions/38537#discussioncomment-16085091

----
This is an automatically sent email for notifications@superset.apache.org.
To unsubscribe, please send an email to: notifications-unsubscribe@superset.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org
For additional commands, e-mail: notifications-help@superset.apache.org


Re: [D] How do I enable both db login and google login in superset 6 [superset]

Posted by "dosubot[bot] (via GitHub)" <gi...@apache.org>.
GitHub user dosubot[bot] added a comment to the discussion: How do I enable both db login and google login in superset 6

<!-- Answer -->
Superset doesn't natively support enabling both database and OAuth login simultaneously because [Flask-AppBuilder only accepts a single `AUTH_TYPE`](https://github.com/apache/superset/discussions/32660). However, you can achieve this with a **custom security manager**.

**Basic approach:**

1. Set `AUTH_TYPE = AUTH_OAUTH` and configure Google OAuth in `superset_config.py`:

```python
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': os.environ.get('GOOGLE_CLIENT_ID'),
            'client_secret': os.environ.get('GOOGLE_CLIENT_SECRET'),
            'server_metadata_url': 'https://accounts.google.com/.well-known/openid-configuration',
            'client_kwargs': {'scope': 'openid email profile'},
        }
    }
]
```

2. Create a [custom security manager](https://github.com/apache/superset/discussions/32472) that extends `SupersetSecurityManager` and implements a unified login view that displays both OAuth buttons and a database login form.

3. Register it in your config:
```python
CUSTOM_SECURITY_MANAGER = CustomSsoSecurityManager
```

There are several discussions with implementation details you can reference:
- [Enable both Google Login and email-password](https://github.com/apache/superset/discussions/32660)
- [OAuth2 + username/password login](https://github.com/apache/superset/discussions/32472)
- [SSO + normal sign in](https://github.com/apache/superset/discussions/32991)


<!-- Dosu Comment Footer -->
*To reply, just mention [@dosu](https://go.dosu.dev/dosubot?utm_source=github&utm_medium=bot-comment&utm_campaign=github-assistant&utm_content=brand-link).*

---
<sup>How did I do? [Good](https://app.dosu.dev/response-feedback/f18fa95c-4e9c-418e-b28c-197f1077190f?feedback_type=great_response&utm_source=github&utm_medium=bot-comment&utm_campaign=github-assistant&utm_content=feedback-great_response) | [Irrelevant](https://app.dosu.dev/response-feedback/f18fa95c-4e9c-418e-b28c-197f1077190f?feedback_type=irrelevant_answer&utm_source=github&utm_medium=bot-comment&utm_campaign=github-assistant&utm_content=feedback-irrelevant_answer) | [Incorrect](https://app.dosu.dev/response-feedback/f18fa95c-4e9c-418e-b28c-197f1077190f?feedback_type=incorrect_sources&utm_source=github&utm_medium=bot-comment&utm_campaign=github-assistant&utm_content=feedback-incorrect_sources) | [Verbose](https://app.dosu.dev/response-feedback/f18fa95c-4e9c-418e-b28c-197f1077190f?feedback_type=too_verbose&utm_source=github&utm_medium=bot-comment&utm_campaign=github-assistant&utm_content=feedback-too_verbose) | [Hallucination](https://app.dosu.dev/response-feedback/f18fa95c-4e9c-41
 8e-b28c-197f1077190f?feedback_type=hallucination&utm_source=github&utm_medium=bot-comment&utm_campaign=github-assistant&utm_content=feedback-hallucination) | [Report 🐛](https://app.dosu.dev/response-feedback/f18fa95c-4e9c-418e-b28c-197f1077190f?feedback_type=bug_report&utm_source=github&utm_medium=bot-comment&utm_campaign=github-assistant&utm_content=feedback-bug_report) | [Other](https://app.dosu.dev/response-feedback/f18fa95c-4e9c-418e-b28c-197f1077190f?feedback_type=other&utm_source=github&utm_medium=bot-comment&utm_campaign=github-assistant&utm_content=feedback-other)</sup>

[![Chat with Dosu](https://dosu.dev/dosu-chat-badge.svg)](https://app.dosu.dev/a28d3c7e-a9d3-459e-9fb6-3a6f9ff4f357/ask?utm_source=github&utm_medium=bot-comment&utm_campaign=github-assistant&utm_content=chat-badge)&nbsp;[![Open in Cursor](https://dosu.dev/dosu-in-cursor.svg)](https://cursor.com/link/prompt?text=Superset%20doesn%27t%20natively%20support%20enabling%20both%20database%20and%20OAuth%20login%20simultaneously%20because%20%5BFlask-AppBuilder%20only%20accepts%20a%20single%20%60AUTH_TYPE%60%5D%28https%3A//github.com/apache/superset/discussions/32660%29.%20However%2C%20you%20can%20achieve%20this%20with%20a%20%2A%2Acustom%20security%20manager%2A%2A.%0A%0A%2A%2ABasic%20approach%3A%2A%2A%0A%0A1.%20Set%20%60AUTH_TYPE%20%3D%20AUTH_OAUTH%60%20and%20configure%20Google%20OAuth%20in%20%60superset_config.py%60%3A%0A%0A%60%60%60python%0Afrom%20flask_appbuilder.security.manager%20import%20AUTH_OAUTH%0A%0AAUTH_TYPE%20%3D%20AUTH_OAUTH%0A%0AOAUTH_PROVIDERS%20%3D%20%5B%0A%20%20%20%20%7B%0A%20%
 20%20%20%20%20%20%20%27name%27%3A%20%27google%27%2C%0A%20%20%20%20%20%20%20%20%27icon%27%3A%20%27fa-google%27%2C%0A%20%20%20%20%20%20%20%20%27token_key%27%3A%20%27access_token%27%2C%0A%20%20%20%20%20%20%20%20%27remote_app%27%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%27client_id%27%3A%20os.environ.get%28%27GOOGLE_CLIENT_ID%27%29%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%27client_secret%27%3A%20os.environ.get%28%27GOOGLE_CLIENT_SECRET%27%29%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%27server_metadata_url%27%3A%20%27https%3A//accounts.google.com/.well-known/openid-configuration%27%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%27client_kwargs%27%3A%20%7B%27scope%27%3A%20%27openid%20email%20profile%27%7D%2C%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%7D%0A%5D%0A%60%60%60%0A%0A2.%20Create%20a%20%5Bcustom%20security%20manager%5D%28https%3A//github.com/apache/superset/discussions/32472%29%20that%20extends%20%60SupersetSecurityManager%60%20and%20implements%20a%20unified%20login%20view%20th
 at%20displays%20both%20OAuth%20buttons%20and%20a%20database%20login%20form.%0A%0A3.%20Register%20it%20in%20your%20config%3A%0A%60%60%60python%0ACUSTOM_SECURITY_MANAGER%20%3D%20CustomSsoSecurityManager%0A%60%60%60%0A%0AThere%20are%20several%20discussions%20with%20implementation%20details%20you%20can%20reference%3A%0A-%20%5BEnable%20both%20Google%20Login%20and%20email-password%5D%28https%3A//github.com/apache/superset/discussions/32660%29%0A-%20%5BOAuth2%20%2B%20username/password%20login%5D%28https%3A//github.com/apache/superset/discussions/32472%29%0A-%20%5BSSO%20%2B%20normal%20sign%20in%5D%28https%3A//github.com/apache/superset/discussions/32991%29)&nbsp;[![Join Discord](https://img.shields.io/badge/join-5865F2?logo=discord&logoColor=white&label=)](https://go.dosu.dev/discord-bot?utm_source=github&utm_medium=bot-comment&utm_campaign=github-assistant&utm_content=join-discord)&nbsp;[![Share on X](https://img.shields.io/badge/X-share-black)](https://twitter.com/intent/tweet?text=%40dos
 u_ai%20helped%20me%20solve%20this%20issue!&url=https%3A//github.com/apache/superset/discussions/38537)

GitHub link: https://github.com/apache/superset/discussions/38537#discussioncomment-16063543

----
This is an automatically sent email for notifications@superset.apache.org.
To unsubscribe, please send an email to: notifications-unsubscribe@superset.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org
For additional commands, e-mail: notifications-help@superset.apache.org


Re: [D] How do I enable both db login and google login in superset 6 [superset]

Posted by "dosubot[bot] (via GitHub)" <gi...@apache.org>.
GitHub user dosubot[bot] edited a comment on the discussion: How do I enable both db login and google login in superset 6

<!-- Answer -->
Superset doesn't natively support enabling both database and OAuth login simultaneously because [Flask-AppBuilder only accepts a single `AUTH_TYPE`](https://github.com/apache/superset/discussions/32660). However, you can achieve this with a **custom security manager**.

**Basic approach:**

1. Set `AUTH_TYPE = AUTH_OAUTH` and configure Google OAuth in `superset_config.py`:

```python
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': os.environ.get('GOOGLE_CLIENT_ID'),
            'client_secret': os.environ.get('GOOGLE_CLIENT_SECRET'),
            'server_metadata_url': 'https://accounts.google.com/.well-known/openid-configuration',
            'client_kwargs': {'scope': 'openid email profile'},
        }
    }
]
```

2. Create a [custom security manager](https://github.com/apache/superset/discussions/32472) that extends `SupersetSecurityManager` and implements a unified login view that displays both OAuth buttons and a database login form.

3. Register it in your config:
```python
CUSTOM_SECURITY_MANAGER = CustomSsoSecurityManager
```

There are several discussions with implementation details you can reference:
- [Enable both Google Login and email-password](https://github.com/apache/superset/discussions/32660)
- [OAuth2 + username/password login](https://github.com/apache/superset/discussions/32472)
- [SSO + normal sign in](https://github.com/apache/superset/discussions/32991)


<!-- Dosu Comment Footer -->
*To reply, just mention [@dosu](https://go.dosu.dev/dosubot?utm_source=github&utm_medium=bot-comment&utm_campaign=github-comment-footer-20260415&utm_content=reply-with-mention&utm_term=apache%2Fsuperset).*

---

Docs are dead. Just use [Dosu](https://dosu.dev?utm_source=github&utm_medium=bot-comment&utm_campaign=github-comment-footer-20260415&utm_content=static-docs-tagline&utm_term=apache%2Fsuperset).

[![Leave Feedback](https://img.shields.io/badge/Leave%20Feedback-555555?style=flat)](https://app.dosu.dev/response-feedback?utm_source=github&utm_medium=bot-comment&utm_campaign=github-comment-footer-20260415&utm_content=static-docs-feedback&utm_term=apache%2Fsuperset&message_id=f18fa95c-4e9c-418e-b28c-197f1077190f) [![Ask Dosu about superset](https://img.shields.io/badge/Ask%20Dosu%20about%20superset-2f7b3f?style=flat&logo=data%3Aimage%2Fsvg%2Bxml%3Bbase64%2CPHN2ZyB3aWR0aD0iODYiIGhlaWdodD0iODkiIHZpZXdCb3g9IjAgMCA4NiA4OSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNNS4yOTIzNiAxMi43OTI4TDE3Ljc1OTMgNi42ODE4OFY3Mi41NjY3TDUuMjkyMzYgODQuMDYxOFYxMi43OTI4WiIgZmlsbD0iI0I0QkI5MSIvPjxwYXRoIGQ9Ik0xOC4yNTc1IDczLjExOTZMNTkuMTMyOSA3Mi43NDhMNTEuNzAxMSA4Mi40MDk1TDI5LjAzMzggODYuMjkxTDYuMjM5NjIgODUuMTU1NEwxOC4yNTc1IDczLjExOTZaIiBmaWxsPSIjNzc4NTYxIi8%2BPHBhdGggZD0iTTE3LjQ5MTYgMy43MzYzM0wzLjU4NTU3IDEyLjcwOTlWODMuNTc5MkMzLjU4NTU3IDg0Ljc1NDIgNC45ODU2MyA4NS4zNjUyIDUuODQ3MDUg
 ODQuNTY2TDE5LjYyOTYgNzEuNzgwMSIgc3Ryb2tlPSJibGFjayIgc3Ryb2tlLXdpZHRoPSI2LjQyODQ0IiBzdHJva2UtbGluZWNhcD0icm91bmQiLz48bWFzayBpZD0iZG9zdS1kLWN1dG91dCIgZmlsbD0id2hpdGUiPjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNNDAuNzA0IDAuNTE4MDY2SDE3LjA0MzlWNzYuMjIyMUg0MC43MDRINDIuNTgwNUg0Ny44MDEzQzY4LjcwNjQgNzYuMjIyMSA4NS42NTMzIDU5LjI3NTIgODUuNjUzMyAzOC4zNzAxQzg1LjY1MzMgMTcuNDY1IDY4LjcwNjMgMC41MTgwNjYgNDcuODAxMyAwLjUxODA2Nkg0Mi41ODA1SDQwLjcwNFoiLz48L21hc2s%2BPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik00MC43MDQgMC41MTgwNjZIMTcuMDQzOVY3Ni4yMjIxSDQwLjcwNEg0Mi41ODA1SDQ3LjgwMTNDNjguNzA2NCA3Ni4yMjIxIDg1LjY1MzMgNTkuMjc1MiA4NS42NTMzIDM4LjM3MDFDODUuNjUzMyAxNy40NjUgNjguNzA2MyAwLjUxODA2NiA0Ny44MDEzIDAuNTE4MDY2SDQyLjU4MDVINDAuNzA0WiIgZmlsbD0iI0YzRjZGMSIvPjxwYXRoIGQ9Ik0xNy4wNDM5IDAuNTE4MDY2Vi02LjU3OTE5SDkuOTQ2NjlWMC41MTgwNjZIMTcuMDQzOVpNMTcuMDQzOSA3Ni4yMjIxSDkuOTQ2NjlWODMuMzE5NEgxNy4wNDM5Vjc2LjIyMjFaTTE3LjA0MzkgNy42MTUzMkg0MC43MDRWLTYuNTc5MTlIMTcuMDQzOVY3LjYxNTMyWk0
 yNC4xNDEyIDc2LjIyMjFWMC41MTgwNjZIOS45NDY2OVY3Ni4yMjIxSDI0LjE0MTJaTTQwLjcwNCA2OS4xMjQ5SDE3LjA0MzlWODMuMzE5NEg0MC43MDRWNjkuMTI0OVpNNDIuNTgwNSA2OS4xMjQ5SDQwLjcwNFY4My4zMTk0SDQyLjU4MDVWNjkuMTI0OVpNNDcuODAxMyA2OS4xMjQ5SDQyLjU4MDVWODMuMzE5NEg0Ny44MDEzVjY5LjEyNDlaTTc4LjU1NiAzOC4zNzAxQzc4LjU1NiA1NS4zNTU1IDY0Ljc4NjcgNjkuMTI0OSA0Ny44MDEzIDY5LjEyNDlWODMuMzE5NEM3Mi42MjYxIDgzLjMxOTQgOTIuNzUwNSA2My4xOTQ5IDkyLjc1MDUgMzguMzcwMUg3OC41NTZaTTQ3LjgwMTMgNy42MTUzMkM2NC43ODY2IDcuNjE1MzIgNzguNTU2IDIxLjM4NDcgNzguNTU2IDM4LjM3MDFIOTIuNzUwNUM5Mi43NTA1IDEzLjU0NTMgNzIuNjI2IC02LjU3OTE5IDQ3LjgwMTMgLTYuNTc5MTlWNy42MTUzMlpNNDIuNTgwNSA3LjYxNTMySDQ3LjgwMTNWLTYuNTc5MTlINDIuNTgwNVY3LjYxNTMyWk00MC43MDQgNy42MTUzMkg0Mi41ODA1Vi02LjU3OTE5SDQwLjcwNFY3LjYxNTMyWiIgZmlsbD0iYmxhY2siIG1hc2s9InVybCgjZG9zdS1kLWN1dG91dCkiLz48cGF0aCBkPSJNNjguOTIxNSAzNi4wMTM1QzY4LjkyMTUgMzYuMDEzNSA2NS43MzY5IDQ5LjQ3MzggNTEuNDIzMSA0OS40NzM4QzM3LjEwOTMgNDkuNDczOCAzMi41Nzg3IDM3LjM1OTYgMzIuNTc4NyAzNi4wMTM1IiBzdHJva2U9ImJsYWNrIiBzdHJva2Utd2lkdGg9IjcuNjkxNjEi
 IHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPjxwYXRoIGQ9Ik0wLjM0ODYzMyA4NS40OTQ2QzAuMzQ4NjMzIDg1LjQ5NDYgMjkuNDg1NiA4NS44MzA5IDM0LjgwOSA4NS42OThDNDQuODMzNyA4NS40NDc3IDUxLjI4NzIgODQuNDAyIDU3LjUyNjkgNzguOTcyNEM2Mi44MTI5IDc0LjM3MjcgNzUuMTM0MiA1OS42ODM2IDc1LjEzNDIgNTkuNjgzNiIgc3Ryb2tlPSJibGFjayIgc3Ryb2tlLXdpZHRoPSI2LjE2NDgyIi8%2BPC9zdmc%2B)](https://github.dosu.com/apache/superset?utm_source=github&utm_medium=bot-comment&utm_campaign=github-comment-footer-20260415&utm_content=static-docs-ask-repo&utm_term=apache%2Fsuperset) [![Share Dosu with your team](https://img.shields.io/badge/Share%20Dosu%20with%20your%20team-1f6feb?style=flat)](https://app.dosu.dev/signup?referrer=openSource&source=github-footer&utm_source=github&utm_medium=bot-comment&utm_campaign=github-comment-footer-20260415&utm_content=static-docs-share-team&utm_term=apache%2Fsuperset)

GitHub link: https://github.com/apache/superset/discussions/38537#discussioncomment-16063543

----
This is an automatically sent email for notifications@superset.apache.org.
To unsubscribe, please send an email to: notifications-unsubscribe@superset.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org
For additional commands, e-mail: notifications-help@superset.apache.org