具有Django身份验证的SAML

具有Django身份验证的SAML,django,saml-2.0,Django,Saml 2.0,我正在使用AWS上托管的Django和nginx。我正试图使用他们的idp与一所大学进行SAML认证集成。有很多过时的答案,但有什么与当前标准更相关的吗 我看到的许多应用程序都是针对django 1.2及更低版本的。具体地说,我正在寻找能够让我通过一些中间件或其他任何东西更轻松地管理SAML身份验证的资源 我看到的一些事情是: SAML有两个方面: IDP->身份提供者方->即大学 SP->服务提供商->即您的应用程序 听起来这是你想要的: 您必须考虑到SAML作为一个标准是复杂的,因此您

我正在使用AWS上托管的Django和nginx。我正试图使用他们的idp与一所大学进行SAML认证集成。有很多过时的答案,但有什么与当前标准更相关的吗

我看到的许多应用程序都是针对django 1.2及更低版本的。具体地说,我正在寻找能够让我通过一些中间件或其他任何东西更轻松地管理SAML身份验证的资源

我看到的一些事情是:

SAML有两个方面:

  • IDP->身份提供者方->即大学
  • SP->服务提供商->即您的应用程序
听起来这是你想要的:

您必须考虑到SAML作为一个标准是复杂的,因此您可能会发现在大学中让库与SAML实现对话的问题。您还必须从他们那里获得身份提供商证书公钥,并要求他们使用特定的实体id添加您的应用程序。当您开始管理其中的两个应用程序时,它会变得复杂


您可能还想查看一些类似于处理所有这些SAML连接的东西。有一个非常简单的python示例

我找到的项目如下:

该项目使用psaml2支持SAML。Pysaml2可在此处找到:

请记住,djangosaml2可能不会使用最新版本的pysaml2。我测试了它,它工作得很好

更新

djangosaml2适用于最新版本的
pysaml2
,但请确保添加此行以使其正常工作:

SESSION_SERIALIZER = 'django.contrib.sessions.serializers.PickleSerializer'

这应该在你的
设置中。py

嗨,我刚刚创建了一个django saml2身份验证插件


与您的SAML2提供商集成非常容易,希望您喜欢。

此库得到了积极维护:

这很有效,但我发现了一个更新和维护良好的项目。嘿,KVISH,我正在处理与Django项目实现SAML SSO完全相同的问题。您最终使用了什么解决方案?@Aman不确定您是否看到了它,但他们回答了自己的问题并指向djangosaml2。更新:djangosaml2已经一年多没有更新了,缺少对Python3和Django 1.9的支持。我正在Django 1.9.4的生产中使用它。我能够做出改变来支持它。Python3我还没有测试过,所以对此我不确定。@kvish,我有一个关于使用djangosaml2获取元数据的问题,我想不通。你介意帮我吗?我已将我的问题发布在链接的项目上,该项目不再维护。但是,我们有一个维护得很好的叉子。你能分享一个你使用这个软件包的例子吗。在docker容器中对依赖项进行排序有点困难,但一旦我们完成了排序,它就会像一个符咒一样工作(对我们的用例进行了一些修改)。如果需要签名响应,请不要使用此模块,一旦此模块删除证书/密钥