我正在调查在Django部署中使用Shibboleth的选项。从我发现的情况来看,事情看起来有些稀少。有人能评论一下吗?
是否有人在使用django-shibboleth模块(请参见http://code.arcs.org.au/gitorious/django/django-shibboleth/trees/1.1)?如果是的话,你对这个模块有什么经验?
Django(例如Django-saml2-sp)和Python(例如pysaml2)的saml2实现似乎有些实验性,几乎没有文档。有人知道Django/Python的稳定SAML 2解决方案吗?
提前感谢您的帮助!
我建议使用Shibboleth本地SP(apache mod_shib)。它经过了很好的测试,拥有庞大的用户群,而且非常稳定。
我快速地看了一下django_shibboleth模块,它似乎依赖于mod廑shib,而不依赖于它自己做任何SAML。在这方面,该模块非常简单,而且可能工作得很好。
我还没有看到任何完整的(或大部分是完整的)python SAML2实现,也没有一个是活动项目。xml安全性和加密要求是python中的一个难题,这可能导致缺少库。[编辑-我将放弃其中的一部分]pysaml2库有一些开发活动,粗略地看,它看起来相当完整。它直接使用xmlsec1二进制文件进行签名和加密,因此不依赖任何过时的绑定。这可能是您目前在python中直接使用SAML2的最佳选择。
django shibboleth模块可用,可用于从IdP获取属性并将其映射到django auth系统中的用户。大部分工作是由Shibboleth本身完成的,映射只需要少量代码。
包装可以从这里买到。
linuxsoft.cern.ch/internal/repos/ai6-stable/x86_64/os/Packages/django-shibsso-0.1-1.noarch.rpm
或者是这里的消息来源。
linuxsoft.cern.ch/内部/repos/ai6-stable/source/SRPMS/django-shibsso-0.1-1.src.rpm
按照Shibboleth说明设置本地Shibboleth服务提供商(SP),以便与IdP一起使用。
在http.conf文件或conf.d中您自己的应用程序配置中,创建以下条目。
这将导致指向/shibboleth的url被定向到IdP登录页面。成功登录后,将返回404页。
添加配置,用应用程序的名称替换应用程序。
这将在通过/shibboleth URL登录后导致以下错误。 当前的URL Shibboleth.sso/ADFS与其中任何一个都不匹配。
要解决此问题,您需要将以下内容添加到配置中。
/var/log/shibboleth/transaction.log应该告诉您释放了哪些属性。
虽然我没有使用Django+Shibboleth的经验,但我有一些使用“普通”Shibboleth的经验。
如果您的Apache已经正确配置了mod_shibboleth,那么将它与web应用程序集成就相对简单了。查看django_shibboleth模块,您可以看到它不包含那么多代码。
特别是,如果mod_shibboleth已经在运行,不要使用第三方SAML 2库。这些带来了很多不必要的复杂性。
相关问题 更多 >
编程相关推荐