我试图在我的应用程序中实现多个SSO (OpenID连接)登录,除了常规的登录。
当前的提供者请求是Azure和Okta,但是还会有更多。对于使用我的应用程序的每个更大的客户,我想让他们能够使用自定义的SSO登录,他们可以在管理面板中设置。
为此,我尝试使用的所有库要么使用settings.py和本地django身份验证,要么不推荐它们。
流程是这样的:
用户选择他们的公司和SSO登录按钮->被重定向到登录-> i发送客户端id,机密等(他们在注册sso连接时输入到管理面板中) ->我得到一个令牌作为回报,以用户名和电子邮件->与此信息(电子邮件)我发现已经存在的用户在我的本地数据库和登录他在
发布于 2022-07-14 10:21:34
您自己的应用程序通常倾向于只信任一个提供程序,并且当您希望涉及多个提供程序时,最好的方法是在本地添加您自己的提供程序,即您的应用程序和的信任。然后,您的OIDC提供程序可以信任其他各种提供程序。就像下面的图片显示的那样:

发布于 2022-07-17 01:20:33
好的,你可以简单地把按钮放在你的网站上。
您可以添加/redirect端点,并确保为从OAuth2提供程序获取用户信息做好准备。
这也是步骤2的继续,但我不知道如何连接Django管理面板。抱歉的。
使用OAuth2提供者的用户信息API。这样你就可以得到用户想要的任何信息,就像他们提供的一样多。
中。
只需用数据库编写一个函数即可。这并不难。
我认为这足以实现这一点。但是,that they can setup in the admin panel.我不能确定您是否可以自定义“已经制作”Django管理面板。这可能很难做到。
https://stackoverflow.com/questions/72963273
复制相似问题