如何在azure ad中实现单点登录django auth?

2023-12-25

我有一个基于 django 的 Web 应用程序,客户要求我们将登录与 Azure AD 集成,按照我设法与以下流程集成的文档。 在 django 中,用户仅输入电子邮件,我识别用户及其公司并将他重定向到 microsoft ad 登录屏幕,登录后,重定向 uri 被激活,在我看来,我做了一些验证并在我的系统上对用户进行身份验证。问题是,客户每次登录时都需要在azure中输入凭据,是否可以使用microsoft user_id或用户第一次登录时获取的令牌进行登录?或者还有其他更快登录的方式?

这是我的回调视图,在redirect_uri中调用:

def callback(request):
    user_id = request.session.pop('user_id', '')
    user_internal = User.objects.filter(id=user_id).first()
    company_azure = CompanyAzureAd.objects.filter(company=user_internal.employee.firm).first()
    # Get the state saved in session
    expected_state = request.session.pop('auth_state', '')
    # Make the token request
    url = request.build_absolute_uri(request.get_full_path())
    token = get_token_from_code(url, expected_state, company_azure)

    # Get the user's profile
    user = get_user(token) #in this moment i have user microsoft profile, with token and id

    # Save token and user
    store_token(request, token)
    store_user(request, user)
...

如果可以登录,我可以将 Microsoft 中的令牌或用户 ID 存储在我的数据库中,因此只需要登录一次


我认为这已经得到解答here https://stackoverflow.com/questions/60008677/how-should-i-be-implementing-user-sso-with-aad-in-a-django-application-using-th

也试试这个Django 的 ADFS 身份验证 https://django-auth-adfs.readthedocs.io/en/latest/

甚至你也可以尝试 python 中的库

Django 微软身份验证后端 https://pypi.org/project/django-microsoft-auth/

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在azure ad中实现单点登录django auth? 的相关文章

随机推荐

  • PHP - 如何创建换行符?

    在 PHP 中 我试图创建一个换行符 echo clientid echo echo lastname echo echo r n 然后 我在记事本中打开创建的文件 它会按字面意思写入换行符 1 John Doe r n 1 John Do
  • 如何在 SharePoint 2010 中启用文档搜索?

    我是否需要启用某些功能或运行索引或某些服务才能使文档出现在搜索结果中 是的 您需要配置索引作业 具体方法如下 安装系统后 您需要配置索引作业 导航至 CA 服务应用程序 搜索 您将看到指向您的内容源的链接 如果您进行编辑 您将有机会设置完整
  • 定义 gganimate 创建的 .gif 的大小 - 更改尺寸/分辨率

    我在用着gganimate创建一些我想要插入到报告中的 gif 文件 我可以保存文件并正常查看它们 但是 我发现显示的尺寸很小 480x480 有没有办法调整它 也许沿着height and width中的论点ggsave 我可以放大 但这
  • Firebase 和检索元素

    我正在尝试从 Firebase 读取 x 数量的元素 但我有一种感觉我误解了某些东西 DataSnapshot 返回正确的子项计数 但是当我尝试循环子项时 循环永远不会执行 注意 Kotlin 代码 fun list count Int c
  • 如何使用 VB.NET 中的 Access 数据库为 Dapper 中的每个表单创建基于用户角色的权限

    我想为每个表单创建基于角色的权限 我可以应用多简单的方法 请指导我 如果以所有者身份登录 则他可以访问所有表单 而如果以管理员身份登录 则无法使用更新按钮的主表单 并且有一个用户无权访问的消息框 管理员也可以显示 form2但button1
  • 在枚举时发生了变化' aria-label=''NSGenericException',原因:集合 <__NSArrayM: 0x7fabb400> 在枚举时发生了变化'> 'NSGenericException',原因:集合 <__NSArrayM: 0x7fabb400> 在枚举时发生了变化

    在我的iPhone应用程序中 我正在尝试使用 uicollectionView 实现一个图像库 当 Error Terminating app due to uncaught exception NSGenericException rea
  • 如何在pillow python中制作文字阴影效果?

    到目前为止我已经实现了this https i stack imgur com knONq jpg与枕头一起 但在某些照片上不太明显 所以我想在图像后面添加一些阴影 在文本中称为升力效果 例如this https i stack imgur
  • 创建简单类并从 cshtml 文件调用方法

    有人可以举一个简单的例子 用一个简单的方法创建一个简单的类 并从 webmatrix 中的 cshtml 文件调用该方法吗 我试图弄清楚 WebMatrix 是否可以以面向对象的方式使用 这将允许我利用 razor sytax 作为 MVC
  • 无法在Visual Studio 2017 Professional中运行单元测试

    无法在Visual Studio 2017 Professional中运行单元测试 运行选定的测试被禁用 我尝试重建测试项目以及解决方案 尝试重启VS 也许就能看到
  • R 按符号分割字符串

    例子 string abc 3g function string Solution gt abc 3g 是否知道如何按照示例所示的方式进行拆分 strsplit string split fixed TRUE 这是可能的答案 其他解决方案
  • Android 后台服务与 AlarmManager

    有人可以提供一些关于 Android 后台服务与警报管理器差异的简要介绍或更详细的细节吗 它们有何不同 在什么情况下我应该使用它们 我正在开发一个需要定期从 Web 服务下载数据的应用程序 该应用程序有几个模块 每个模块都有不同的间隔时间段
  • 使用 AngularJS 自旋转图像

    我正在尝试在 AngularJS 中创建一个自旋转图像查看器 抱歉 如果这个问题看起来很愚蠢 但我无法用 angularJS 的方式弄清楚 我知道我可以使用 jQuery 破解它 但我认为它应该单独在 AngularJS 中可行 HTML
  • 主键已经过时了吗?

    主键提供哪些独特的功能 虽然我用舌头紧紧地贴着脸颊来命名这个问题 但我的问题是严肃的 在任何火焰开始之前 我并不是说构建一个没有约束或引用完整性的数据库 然而 据我所知 SQL Server 可以取消primary key关键词 唯一索引涵
  • 如何使用Socks5代理scrapy请求?

    问题 怎样才能代理scrapy https scrapy org 请求与socks5 我知道我可以使用polipo https www irif fr jch software polipo to convert Socks代理至Http
  • 如何在 Google Sheets API 中写入工作表的特定范围

    这是我第一次使用 Google Sheets API 我正在尝试编写一个脚本来接收一些数据并对其进行处理 该脚本可以工作 然后我想将处理后的数据写入现有工作表中的列中 这是我需要帮助的 有没有更好的方法将数组放在特定范围内 错误消息显示无法
  • 关于 jsLint 错误的问题:“不要在循环内创建函数”

    我正在阅读 Jeremy Keith 的 DOM Scripting 并在 jsLint 中测试代码 在此处的代码示例中 我收到一条错误 提示 不要在循环内创建函数 当我尝试修复它时 我似乎失去了范围this 我需要查看如何修复此错误的示例
  • 在 XAML 中使用布尔值到颜色转换器

    我正在开发 WPF 应用程序 我已将文本块绑定到按钮 当关联按钮的 isEnabled 为 true 时 我想将文本块的前景设置为黑色 我想使用转换器来做到这一点 但它不起作用 也没有给出任何错误 我已在 模型 文件夹中声明了以下课程 pu
  • 是否有可能推出速度明显更快的 modf 版本

    在我正在分析的应用程序中 我发现在某些情况下此函数能够占用总执行时间的 10 以上 正在使用 MSVC 2008 编译器 仅供参考 我不记得 modf 是否映射到单个指令 或者是否有任何方法可以使其更快 也可以看看here https st
  • ArrayObject::offsetUnset 以意想不到的方式推进内部指针

    嘿伙计们我有以下场景 col new ArrayObject for i 0 i lt 5 i objItem new stdClass objItem gt someVar i col gt append objItem 现在我想通过删除
  • 如何在azure ad中实现单点登录django auth?

    我有一个基于 django 的 Web 应用程序 客户要求我们将登录与 Azure AD 集成 按照我设法与以下流程集成的文档 在 django 中 用户仅输入电子邮件 我识别用户及其公司并将他重定向到 microsoft ad 登录屏幕