跳转到主要内容

一个简单的Django实现shibboleth/saml wayf服务

项目描述

=====
WAYF
=====

WAYF是一个简单的Django应用程序,实现了SAML WAYF(你来自哪里)服务。
它允许你选择你的主idP(机构)以进行进一步的重定向,
通过解析你的联盟元数据(.xml)

此代码来自 https://code.grnet.gr/projects/wayf

它被修改为将wayf部分作为一个独立的、可用的django应用程序


快速入门
-----------

1. 将"wayf"添加到你的INSTALLED_APPS设置中,并像这样配置你的元数据位置:

INSTALLED_APPS = [
...
'wayf',
]
SHIB_METADATA = 'federation-metadata.xml'
INSTITUTION_CATEGORIES = (
('university', ("Universities")),
('tei', ("Technological educational institutes")),
('school', ("Other academic institutions")),
('institute', ("Research institutes")),
('other', ("Please select your institute")),
('test', ("Testing")),
)
P3P_HEADER = ''
IDP_COOKIE = 'wayf_selected_idp'
LAST_IDP_COOKIE = 'wayf_last_idp'
COOKIE_DOMAIN = '.example.com'

2. 在你的项目urls.py中包含wayf URLconf,如下所示:

url(r'^wayf', include('wayf.urls')),

如果你想要更多的模板灵活性,
基本应用程序只有一个视图
wayf.views.wayf
因此,你可以创建自己的URL,指向这个视图。
随wayf一起发布的模板扩展了base.html模板,它们将在{% content %}标签中插入它们的HTML。


3. 此应用程序在其模型中不存储任何内容,因此不需要迁移

4. 启动开发服务器并访问http://127.0.0.1:8000/wayf
以选择您的家庭学院

5. 配置您的shibboleth2.xml文件以使用此wayf:
<SessionInitiator type="Chaining" Location="/DS" id="DS" isDefault="true" relayState="cookie">
<SessionInitiator type="SAMLDS" URL="https://example.com/wayf"/>
<SessionInitiator/>


extra
---
您真正需要的唯一视图是wayf.views.wayf

然而,wayf.views包含一些其他视图,可以帮助您生成自动生成的页面
例如,为用户使用模板:

如果您在家庭组织的认证页面中遇到问题<b>,那么您应该联系您家庭组织的用户帮助台。这也是解决账户相关问题的地点,如密码丢失或更改、联系信息更改等。
{% if idp.contact.email or idp.contact.telephone %}
根据您选择的家庭组织,&quot;<b>{{ idpname }}</b>&quot;,您可以使用以下联系信息获得支持
<ul id="contactdetails">
{% if idp.contact.email %}
<li><strong>E-mail:</strong> <a href="mailto:{{ idp.contact.email }}?subject=AAI+issue+report">{{ idp.contact.email }}</a></li>
{% endif %}
{% if idp.contact.telephone %}
<li><strong>{% trans "Telephone" %}:</strong> {{ idp.contact.telephone }}</li>
{% endif %}
</ul>
{% endif %}</li>


dependencies
---

此套件需要在系统上存在以下python模块

- python-lxml:使用lxml.objectify解析XML元数据
可选,尚未完全实现,您需要手动进行一些更改
- pydns:用于反向DNS查找以获取有关用户首选IdP的提示
- IPy:用于IP映射操作

项目详情


下载文件

下载您平台上的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。

源分布

django-wayf-0.3.0.tar.gz (30.1 kB 查看散列)

上传时间

由以下机构支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面