在microsoft dynamics内部的iframe中打开的django webapp中自动登录

在microsoft dynamics内部的iframe中打开的django webapp中自动登录,django,active-directory,azure-active-directory,microsoft-dynamics,Django,Active Directory,Azure Active Directory,Microsoft Dynamics,情况: 我已经使用django开发了一个webapp,它使用默认的身份验证中间件。所有视图都是login\u必需的。现在,客户希望他什么时候登录CRM,然后webapp将在iframe中打开,他也应该在django webapp中自动登录 问题: 可以在CRM中的iframe内打开webapp。但django webapp如何为登录CRM的用户创建会话?Django使用自己的身份验证,CRM使用自己的身份验证。即使我将Django身份验证与azure active directory链接,仍然必

情况:

我已经使用django开发了一个webapp,它使用默认的身份验证中间件。所有视图都是
login\u必需的
。现在,客户希望他什么时候登录CRM,然后webapp将在iframe中打开,他也应该在django webapp中自动登录

问题:

可以在CRM中的iframe内打开webapp。但django webapp如何为登录CRM的用户创建会话?Django使用自己的身份验证,CRM使用自己的身份验证。即使我将Django身份验证与azure active directory链接,仍然必须在iframe中输入用户名和密码。我无法确定如何自动登录

更新

我没有CRM屏幕截图,但我在microsoft团队中有相同的用例

现在在这张图片中,我的webapp在teams选项卡中打开,我知道的选项卡使用iframe打开页面。屏幕截图中询问的用户名和密码由Django认证后端验证。输入并验证用户名和密码后,仪表板将打开

要求:

我不希望这个登录页面被打开,我希望仪表板将直接打开。简单地说,团队中的身份验证也应该验证我的Django应用程序

在中,用户名(userPrinicpalName)和密码是必需的,在iframe中打开的django webapp将如何访问用户名和密码?我不认为客户端可以简单地将密码存储在浏览器的本地存储中,因为密码是加密的

第二种方法:

此时仪表板将在
www.example.com
打开。我可以创建一个类似
www.example.com/
的url,当这个url到达我的服务器时,我可以验证这个
id\u令牌
并验证用户。但这里的问题是CRM是否能够在iframe src中提供
id\u令牌

p.S:我没有带Microsoft Dynamics屏幕截图,但我很快在团队中实现了这一点,因为我认为用例是相同的。

最新 或者你可以使用

职位

您可以使用来实现此要求。 我相信iframe打开的任何页面都应该有一个参数来记录用户信息,对吧,假设它是一个id令牌。在iframe中打开页面时,当页面初始化时,即使用
$(documnet).ready(function(){})
中的
ROPC流
以静默方式登录。不会有弹出窗口提示您登录,等待成功之后,回调方法将获取id令牌,以便您可以实现您的需求

以上只是一个想法,具体实现可以根据项目的需要进行编码

有关更多详细信息,您可以在下面的帖子中参考我的答案。


@JasonPan谢谢你的回答。我将尝试你的方法,并一定会接受它。我需要实现这一点。再次感谢您抽出时间回答此问题。谢谢,您可以先尝试一下,如果您有任何问题,可以与我联系。您可以检查更新并指导我吗?我所研究的,ROPC需要用户名和密码,我将如何访问它?@Amandepsinghsawhney我已经更新了我的答案,您也可以根据您的需要进行选择。@Amandepsinghsawhney如果我的解决方案启发或帮助了您,您将我的答案标记为,Tks~谢谢您的答案,我也对其进行了投票,但它并没有解决我的问题。非常感谢你抽出时间来帮助我。