========================== 欢迎使用django-allauth!
.. image:: https://codeberg.org/allauth/allauth.org/raw/commit/da3b56390e1b18eaec09b05cd89dfa7812212dfc/content/news/2024/04/website-redesign/logo-light.png :target: https://allauth.org :align: right :alt: django-allauth标志 :width: 250px
.. |ci| image:: https://img.shields.io/github/actions/workflow/status/pennersr/django-allauth/ci.yml.svg :target: https://github.com/pennersr/django-allauth/actions .. |pypi| image:: https://img.shields.io/pypi/v/django-allauth :target: https://pypi.python.org/pypi/django-allauth .. |cov| image:: https://img.shields.io/coverallsCoverage/github/pennersr/django-allauth :alt: 覆盖率状态 :target: https://coveralls.io/r/pennersr/django-allauth .. |btc| image:: https://img.shields.io/badge/bitcoin-donate-yellow :target: https://blockchain.info/address/1AJXuBMPHkaDCNX2rwAy34bGgs7hmrePEr .. |liberapay| image:: https://img.shields.io/liberapay/receives/pennersr :target: https://en.liberapay.com/pennersr .. |pystyle| image:: https://img.shields.io/badge/code_style-pep8-green :target: https://www.python.org/dev/peps/pep-0008/ .. |jsstyle| image:: https://img.shields.io/badge/code_style-standard-brightgreen :target: http://standardjs.com .. |editor| image:: https://img.shields.io/badge/editor-emacs-purple :target: https://www.gnu.org/software/emacs/ .. |i18n| image:: https://img.shields.io/weblate/progress/allauth :target: https://hosted.weblate.org/projects/allauth/django-allauth/ .. |pypidl| image:: https://img.shields.io/pypi/dm/django-allauth :target: https://pypistats.org/packages/django-allauth :alt: PyPI - 下载量 .. |djangodemo| image:: https://img.shields.io/badge/%E2%96%B6_demo-Django_project-red :target: https://django.demo.allauth.org/ :alt: 查看Django演示 .. |reactdemo| image:: https://img.shields.io/badge/%E2%96%B6_demo-React_SPA-red :target: https://react.demo.allauth.org/ :alt: 查看React SPA演示
|ci| |pypi| |cov| |btc| |liberapay| |pystyle| |jsstyle| |editor| |i18n| |pypidl| |djangodemo| |reactdemo|
一套集成的Django应用程序,用于处理身份验证、注册、账户管理以及第三方(社交)账户认证。
源代码 https://github.com/pennersr/django-allauth
文档 https://docs.allauth.org/en/latest/
Stack Overflow https://stackoverflow.com/questions/tagged/django-allauth
演示 https://django.demo.allauth.org 和 https://react.demo.allauth.org
翻译 https://hosted.weblate.org/projects/allauth/django-allauth/
基本原理
不幸的是,大多数现有的处理社交认证问题的Django应用程序只关注一个维度 - 社交。大多数开发者最终会集成另一个应用程序来支持本地生成的认证流程。
这种方法在本地认证和社交认证流程之间造成了开发差距。尽管存在许多两者都需要的常见场景,但这仍然是一个问题。例如,OpenID提供商传递的电子邮件地址可能未经验证。因此,在将OpenID账户与本地账户关联之前,必须验证电子邮件地址。这本质上是许多用例之一,要求在两个世界中都存在电子邮件验证。
整合这两者是一个庞大而繁琐的过程。这不仅仅是将一个社交认证应用和一个本地账户注册应用添加到你的INSTALLED_APPS
列表中那么简单。
这种不足正是本项目存在的原因 -- 提供一个完全集成的认证应用程序,允许本地和社交认证,流程完美运作!
特性
🔑 全面的账户功能 支持多种认证方案(例如,通过用户名或电子邮件登录),以及多种账户验证策略(从无到强制电子邮件验证)。
👥 社交登录 使用外部身份提供商登录,支持任何兼容Open ID Connect的提供商,许多OAuth 1.0/2.0提供商,以及自定义协议,例如Telegram认证。
💼 企业级就绪 支持SAML 2.0,这在B2B环境中经常使用。
🕵️ 经过实战检验 该软件包自2010年以来一直公开。它被许多依赖它的商业公司使用,因此已经经历了各种渗透测试尝试。
⏳ 速率限制 当你向互联网公开启用认证的Web服务时,准备好应对潜在的暴力破解尝试很重要。因此,默认启用速率限制。
🔒 隐私 许多网站泄露信息。例如,在许多网站上,你可以通过在忘记密码表单中输入某人的电子邮件地址,或尝试用它注册来检查你认识的人是否有账户。我们提供账户枚举防护,使得无法判断某人是否已经拥有账户。
🧩 可定制 作为开发者,你可以根据特定需求灵活定制核心功能。通过采用适配器模式,你可以轻松地在所需点引入干预,从标准行为中偏离。这种级别的定制使你能够根据独特需求和偏好定制软件。
⚙️ 配置 与Facebook、Twitter等交互所需的消费者密钥和密码可以使用常规设置进行配置,或者可以通过Django管理员在数据库中进行配置。这里提供了对Django站点框架的可选支持,这对于较大的多域项目很有帮助,同时还允许在开发(localhost)和生产设置之间轻松切换,而无需修改设置和数据库。
商业支持
提供商业支持。如果你发现缺少某些功能,或需要在项目上获得帮助,请联系我们:info@intenct.nl。