成功登录后 Microsoft 身份验证不会重定向

Sub*_*aac 5 django azure-active-directory

我正在使用Django Microsoft Authentication Backend集成 Microsoft 的登录。我已成功获得响应并创建一个新的“Microsoft”用户,如果我以本地超级用户身份登录管理站点,则可以在管理站点中看到它。

在此输入图像描述

在此输入图像描述

当我使用 Microsoft 登录时,Microsoft 的弹出窗口将打开并进行身份验证,并且不会重定向到任何地方。 在此输入图像描述

但是,对于本地非 Microsoft 用户,它可以成功重定向到管理面板。

在此输入图像描述

我不明白为什么会这样,这没有意义。我构建了一个首页,我希望此登录页面在成功登录后重定向到。我已经包括了

LOGIN_REDIRECT_URL = 'home'
LOGOUT_REDIRECT_URL = 'home'
Run Code Online (Sandbox Code Playgroud)

在 settings.py 文件中,但这不会改变任何东西。

Sub*_*aac 2

尝试使用 localhost 进行 Microsoft 身份验证时确实很奇怪。我安装了 ngrok,在 Azure AD 中添加了 ngrok https URL 作为回调 URL,在ALLOWED_HOSTSsettings.py 中添加了 ngrok URL,然后尝试通过管理页面登录,现在可以正常登录管理面板了。

为了使用重定向,我在 django 的默认身份验证提供的默认 login.html 页面中添加了“使用 Microsoft 登录”图像。然后重定向到“/microsoft/to-auth-redirect/”。要利用此功能,Azure AD 中的回调 URL 必须是“/microsoft/from-auth-redirect/”。现在您可以在 settings.py 中使用LOGIN_REDIRECT_URLLOGOUT_REDIRECT_URL