Flask-AppBuilder SecurityManager for OpenIDConnect
项目描述
Flask-AppBuilder SecurityManager for OpenIDConnect
flask_oidc的包装器,用于暴露一个SecurityManager
,以便与任何Flask-AppBuilder应用程序一起使用。
它将允许您的用户使用OpenIDConnect提供者(如Auth0、Okta或Google Apps)进行登录。
这大致受到了这个回答中的代码的启发。(MIT许可 © thijsfranck)
用法
通用
只需覆盖Flask Appbuilder应用程序中的默认安全管理器。
from fab_oidc.security import OIDCSecurityManager
appbuilder = AppBuilder(app, db.session, security_manager_class=OIDCSecurityManager)
Airflow
Airflow在webserver_config.py
文件中提供了一个钩子,您可以在其中指定一个安全管理器类。在webserver_config.py
中导入OIDCSecurityManager并设置
from fab_oidc.security import AirflowOIDCSecurityManager
...
SECURITY_MANAGER_CLASS = AirflowOIDCSecurityManager
Airflow现在要求您的SECURITY_MANAGER_CLASS
是AirflowSecurityManager
的子类。使用仅在您使用此库与Airflow一起时定义的特殊AirflowOIDCSecurityManager
。
Superset
Superset 以类似的方式工作。就像在 Airflow 中一样,SECURITY_MANAGER_CLASS
需要是 SupersetSecurityManager
的子类,配置文件名为 superset_config.py
,钩子名为 CUSTOM_SECURITY_MANAGER
。现在存在一个特殊的 SupersetOIDCSecurityManager
,仅在您与 Superset 一起使用此库时定义。
from fab_oidc.security import SupersetOIDCSecurityManager
...
CUSTOM_SECURITY_MANAGER = SupersetOIDCSecurityManager
设置
设置与 flask_oidc 设置 相同,因此请参阅那里以获取参考。
如果您对 flask_oidc 的默认设置满意,您真正需要的是类似以下内容:
OIDC_CLIENT_SECRETS = '/path/to/client_secret.json'
有关如何生成或编写一个的说明,请参阅 flask_oidc 手动客户端注册 文档。
OIDC 字段配置
如果您想更改默认的 OIDC 字段,用作用户名、名字和姓氏,您可以在运行进程的 shell 中设置以下环境变量:
export USERNAME_OIDC_FIELD='preferred_username'
export FIRST_NAME_OIDC_FIELD='given_name'
export LAST_NAME_OIDC_FIELD='family_name'
版权所有 © 2018 HM 政府司法部数字服务部。有关更多信息,请参阅 LICENSE.txt。
项目详情
下载文件
下载适合您平台的文件。如果您不确定选择哪个,请了解有关 安装包 的更多信息。
源分发
构建分发
fab_oidc-0.0.9.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 3e49b666dc15f6526c9fe0726aabed254d67e49f7e1ddbe52fa0336c4242a5f7 |
|
MD5 | 0c938353b745b672beb16ccbf2a4ac6f |
|
BLAKE2b-256 | a4190ff0bb46a69fcc0773be2d370dee459bf5c880929236e2c6eb23e6dc1966 |
fab_oidc-0.0.9-py3-none-any.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 46617f58d08ff79ac2a85e5ad96c85b57cb05ed2b22fe75d4ab81f29cfbfadf9 |
|
MD5 | f440797c02a7d5c1d4c124fa5694f113 |
|
BLAKE2b-256 | fd28b7ef08bc8d75ea2fa53cd894ae4f698aab90d9de49bd98517a55e5ed281b |