如何使用谷歌oauth添加用户和登录

问题描述 投票:1回答:1

我试图在超集中添加谷歌oauth2作为我的登录方法。用户无法通过自己注册,系统管理员必须为权限/角色的用户提供访问权限。

当匿名用户登录时,系统必须检查用户电子邮件是否存在以及应用了哪个角色并显示用户配置文件

我已经在超集中链接了google oauth2,我可以点击登录google按钮登录pop apears并输入google acount的电子邮件和密码。但是当登录完成后,它会发出一条消息,说明用户未获得授权。

Login Page

After Login, with console error (page stays loading...)

问题是我如何将谷歌用户与超级用户相关联,或者通过这种谷歌oauth2方法注册用户与相应的角色?

google-oauth2 apache-superset
1个回答
1
投票

你可以做的一件事是设置Flask App Builder的AUTH_USER_REGISTRATION = TrueAUTH_USER_REGISTRATION_ROLE = "some_default_role"

然后,如果您想更改注册流程,我建议您设置自己的SecurityManager并覆盖BaseSecurityManager.auth_user_oauth。我会复制该方法的来源并改变它。

如果FAB为此目的在BaseSecurityManager有一个预注册钩子,我会很棒。也许它可以接收fazxswpoi对象FAB计划创建(在它创建之前)并且可以返回角色列表,如果我们想要中止注册过程,则返回User

© www.soinside.com 2019 - 2024. All rights reserved.