为Django项目提供联邦登录(SSO)
项目描述
该项目目前未维护。不建议用于生产环境。
Django Federated Login
Django Federated Login提供Django项目与OpenID身份提供者之间的身份验证桥梁。该桥梁预先连接到单个Google Apps域,但可以扩展到与其他OpenID提供者链接。与其他OpenID消费者不同,此消费者只允许连接到预定义的身份提供者。
提供的后端根据身份提供者返回的电子邮件地址匹配用户。如果找不到匹配的用户,可以可选地创建用户帐户。
我非常希望听到您对这个包的反馈。如果您遇到问题,请通过GitHub提交问题,或者通过分叉存储库并发送一些拉取请求来为项目做出贡献。
兼容Django 1.4、1.5和1.6,支持Python 2.6、2.7、3.2和3.3。通过python3-openid分叉支持Python 3。
安装
使用pip安装
$ pip install django-federated-login
将'federated_login.auth_backend.EmailBackend'添加为身份验证后端
settings.py: AUTHENTICATION_BACKENDS = ( 'federated_login.auth_backends.EmailBackend', 'django.contrib.auth.backends.ModelBackend', )
将'federated_login'添加为已安装的应用
settings.py: INSTALLED_APPS = ( ... 'federated_login', )
提供用于识别的Google Apps域
settings.py: FL_APPS_DOMAIN = 'webatoom.nl'
Django 1.6需要配置会话序列化程序
settings.py: SESSION_SERIALIZER = 'django.contrib.sessions.serializers.PickleSerializer'
注册视图
urls.py: url(r'^federated/', include('federated_login.urls')),
同步或迁移数据库
python manage.py syncdb # or if you use South: python manage.py migrate federated_login
用法
将您的浏览器指向/federated/login/。您可能希望在常规登录页面上包含此URL的按钮。您还可以使用联邦登录页面作为默认登录页面,替换用户名和密码登录页面。为此,配置LOGIN_设置
settings.py: LOGIN_REDIRECT_URL = '/' LOGIN_URL = '/federated/login/'
设置
以下是可以自定义的设置
- FL_APPS_DOMAIN
用于识别的Google Apps域。可以由FL_SSO_ENDPOINT覆盖。
- FL_USER_FACTORY(默认值:'federated_login.user_factories.normal')
在创建用户帐户时调用的函数。将其设置为 None 以禁用新用户的创建。还有用于创建员工用户的 'federated_login.user_factories.staff' 和用于创建超级用户的 'federated_login.user_factories.superuser'。
- FL_SSO_ENDPOINT(默认:Google Apps)
覆盖此设置以与其他 OpenID 身份提供者关联。当提供自定义 FL_SSO_ENDPOINT 时,FL_APPS_DOMAIN 设置将无效果。
- FL_USER_CLASS(默认:'django.contrib.auth.models.User')
用于创建和查询用户的 Django 模型类。
- FL_PATCH_ADMIN(默认:True)
Django 的管理站点会自动打补丁以使用联合登录。将此设置设置为 False 以禁用此功能。您可以调用 federated_login.admin.patch_admin() 和 federated_login.admin.unpatch_admin() 分别打补丁和取消打补丁管理站点。
项目详情
django-federated-login-1.0.0.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 821edf256cd41e550df802d406b6d8f8d137227315a4c443c0db06e9bb3358e4 |
|
MD5 | fc199643bc5c73d2c49ec0fd48c27bac |
|
BLAKE2b-256 | bad715dd97902659d9340bc7b9fbc62dc064bbecef1d8e41789676e61faf8646 |