我正在尝试通过Oauth2在Apache SuperSet中启用身份验证。

由于它是基于Flask AppBuilder构建的,所以它应该很简单,它支持OAuth,并且非常易于设置和使用。

我设法使以下两个示例与Twitter Oauth配置无缝配合:

  • FAB OAuth example
  • flask-oauthlib examples

  • 现在,我尝试将相同的配置应用于SuperSet。

    Docker

    由于我无法为几个神秘的python错误(在Windows 7 / Ubuntu Linux以及Python版本2.7和3.6上尝试过)手动构建项目,因此我决定使用this Superset docker image(安装并可以正常工作)并按照以下建议注入(inject)配置docs:



    我添加了一个superset_config.py(在一个文件夹中并且单独存在),并通过在Dockerfile中添加以下内容来安装它:
    ADD config .superset/config
    

    (config是文件夹的名称)或(对于单个文件):
    COPY superset_config.py .superset
    

    在这两种情况下,文件最终都位于容器中的正确位置(我使用docker exec /bin/bash检查),但是Web应用程序没有显示任何区别:没有Twitter身份验证的痕迹。

    有人能弄清楚我在做什么错吗?

    最佳答案

    您必须更改superset_config.py。看一下这个示例配置,它对我有用。

    import os
    from flask_appbuilder.security.manager import AUTH_OID,
    AUTH_REMOTE_USER,
    AUTH_DB, AUTH_LDAP, AUTH_OAUTH
    basedir = os.path.abspath(os.path.dirname(__file__))
    ROW_LIMIT = 5000
    SUPERSET_WORKERS = 4
    SECRET_KEY = 'a long and random secret key'
    SQLALCHEMY_DATABASE_URI = ‘postgresql://username:pass@host:port/dbname’
    CSRF_ENABLED = True
    AUTH_TYPE = AUTH_OAUTH
    AUTH_USER_REGISTRATION = True
    AUTH_USER_REGISTRATION_ROLE = "Public"
    OAUTH_PROVIDERS = [
        {
           'name': 'google',
           'whitelist': ['@company.com'],
       'icon': 'fa-google',
       'token_key': 'access_token',
       'remote_app': {
            'base_url': 'https://www.googleapis.com/oauth2/v2/',
            'request_token_params': {
                  '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',
            'consumer_key': 'GOOGLE_AUTH_KEY',
            'consumer_secret': 'GOOGLE_AUTH_SECRET'
              }
           }
    ]
    

    关于python - Apache SuperSet中的Oauth身份验证,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44952750/

    10-12 19:26
    查看更多