Authentication Apache超集与Okta集成

Authentication Apache超集与Okta集成,authentication,single-sign-on,okta,apache-superset,superset,Authentication,Single Sign On,Okta,Apache Superset,Superset,我正在使用Apache Superset配置Okta,但在使用消息“无效登录”进行身份验证后,它会将我重定向到登录页面。请再试一次 下面是我的superset_config.py文件: AUTH\u TYPE=AUTH\u OAUTH OAUTH_提供程序=[ { 'name':'okta','icon':'fa-circle-o', “令牌密钥”:“访问令牌”, “远程应用程序”:{ “客户识别码”:“0oa8hoe9t1c8LfB1z357”, “客户机密”:“b8exxJID0BQOXlv

我正在使用Apache Superset配置Okta,但在使用消息“无效登录”进行身份验证后,它会将我重定向到登录页面。请再试一次

下面是我的
superset_config.py
文件:

AUTH\u TYPE=AUTH\u OAUTH
OAUTH_提供程序=[
{
'name':'okta','icon':'fa-circle-o',
“令牌密钥”:“访问令牌”,
“远程应用程序”:{
“客户识别码”:“0oa8hoe9t1c8LfB1z357”,
“客户机密”:“b8exxJID0BQOXlvMlQa5To5frU4EY7FX3cXDOMLM”,
“api_base_url”:https://dev-514411.okta.com/oauth2/v1/',
“客户”是:{
“范围”:“openid配置文件电子邮件组”
},
“访问令牌url”:https://dev-514411.okta.com/oauth2/v1/token',
'授权url':'https://dev-514411.okta.com/oauth2/v1/authorize'
}
}
]

自Flask AppBuilder 3.2.2以来,Okta集成本应开箱即用,但事实并非如此

以下是对我有效的方法:

在Okta的应用程序设置中,“登录重定向URI”字段应如下所示:

http://localhost:8088/oauth-authorized/okta
您的
超集_config.py
应该包含类似的内容:

OKTA_BASE_URL=”https://dev-.okta.com'
AUTH_TYPE=AUTH_OAUTH
OAUTH_提供程序=[
{
“名称”:“okta”,
“令牌密钥”:“访问令牌”,
“图标”:“fa-circle-o”,
“远程应用程序”:{
“客户id”:OKTA_客户id,
“客户机密”:OKTA_客户机密,
“客户”是:{
“范围”:“openid配置文件电子邮件组”
},
“访问令牌方法”:“POST”,
'api_base_url':f'{OKTA_base_url}/oauth2/v1/',
'access_token_url':f'{OKTA_BASE_url}/oauth2/v1/token',
'authorize_url':f'{OKTA_BASE_url}/oauth2/v1/authorize',
'server\u metadata\u url':f'{OKTA\u BASE\u url}/.well-known/openid配置',
},
}
]
从自定义安全管理器导入自定义安全管理器
自定义安全管理器=自定义安全管理器
最后,您的
custom\u sso\u security\u manager.py
,必须与您的
superset\u config.py
位于同一目录下,应该包含如下内容:

http://localhost:8088/oauth-authorized/okta
从superset.security导入SupersetSecurityManager
类CustomSsoSecurityManager(SupersetSecurityManager):
def oauth_用户_信息(self、provider、response=None):
如果提供程序==“okta”:
user\u info=self.appbuilder.sm.oauth\u remotes[provider].parse\u id\u令牌(
(答复)
返回{
“名称”:用户信息[“名称”],
“电子邮件”:用户信息[“电子邮件”],
“id”:用户信息[“电子邮件”],
“用户名”:用户信息[“电子邮件”]
}

对象
oauth_user_info
返回的重要属性是
email
username
,它们将用于匹配数据库的
ab_user
表记录。如果没有匹配的记录,则登录将失败。

我希望您的客户机密是伪造的或已经更改。。。(好吧,这只是dev,但仍然是:关注它)我认为这可能与您的okta设置有关。分享它们可以更容易地复制和回答您的问题。