django-allauth へようこそ!
認証、登録、アカウント管理、およびサードパーティ (ソーシャル) アカウント認証に対応する Django アプリケーションの統合セット。
- ホームページ
- https://allauth.org/
- ソースコード
- https://codeberg.org/allauth/django-allauth
- 問題追跡ツール
- https://codeberg.org/allauth/django-allauth/issues
- ドキュメント
- https://docs.allauth.org/en/latest/
- スタックオーバーフロー
- 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 アプリのほとんどは、ソーシャルという 1 つの側面のみに焦点を当てています。ほとんどの開発者は、ローカルで生成される認証フローをサポートするために、最終的に別のアプリを統合します。
このアプローチでは、ローカル認証フローとソーシャル認証フローの間に開発ギャップが生じます。両方に必要な一般的なシナリオが数多くあるにもかかわらず、この問題は依然として問題となっています。たとえば、OpenID プロバイダーから渡された電子メール アドレスは検証されない場合があります。したがって、OpenID アカウントをローカル アカウントに接続する前に、電子メール アドレスを検証する必要があります。これは基本的に、両方の世界で電子メール検証の存在を義務付ける多くのユースケースの 1 つです。
両方を統合するのは、膨大で退屈なプロセスです。 INSTALLED_APPS
リストに 1 つのソーシャル認証アプリと 1 つのローカル アカウント登録アプリを追加するほど単純ではありません。
この不十分さがこのプロジェクトの存在理由です。ローカル認証とソーシャル認証の両方を可能にし、美しく機能するフローを備えた完全に統合された認証アプリを提供することです。
特徴
- ?包括的なアカウント機能
- 複数の認証スキーム (ユーザー名または電子メールによるログインなど) と、アカウント検証のための複数の戦略 (電子メール検証なしから必須まで) をサポートします。
- ソーシャルログイン
- 外部 ID プロバイダーを使用してログインし、 Open ID Connect と互換性のあるプロバイダー、多くのOAuth 1.0/2.0プロバイダー、さらにはTelegram認証などのカスタム プロトコルをサポートします。
- エンタープライズ対応
- B2B コンテキストでよく使用される SAML 2.0 をサポートします。
- 実戦テスト済み
- このパッケージは 2010 年から公開されています。ビジネスがこのパッケージに依存している多くの営利企業によって使用されており、そのためさまざまな侵入テストが試みられています。
- ⏳レート制限
- 認証が有効な Web サービスをインターネットに公開する場合は、潜在的なブルート フォース攻撃に備えることが重要です。したがって、レート制限はすぐに有効になります。
- プライベート
- 多くのサイトが情報を漏洩しています。たとえば、多くのサイトでは、パスワードを忘れた場合のフォームに電子メール アドレスを入力するか、その電子メール アドレスでサインアップしてみることで、知り合いがアカウントを持っているかどうかを確認できます。当社はアカウント列挙防止機能を提供しており、誰かがすでにアカウントを持っているかどうかを見分けることができません。
- ?カスタマイズ可能
- 開発者は、特定の要件に応じてコア機能を柔軟にカスタマイズできます。アダプター パターンを採用すると、標準の動作から逸脱する目的のポイントに介入を簡単に導入できます。このレベルのカスタマイズにより、独自のニーズや好みに合わせてソフトウェアを調整できるようになります。
- 構成
- Facebook、X (Twitter) などと対話するために必要なコンシューマー キーとシークレットは、通常の設定を使用して構成することも、Django 管理者を介してデータベースで構成することもできます。ここでは、Django サイト フレームワークのオプション サポートが利用可能です。これは、大規模なマルチドメイン プロジェクトに役立ちますが、設定やデータベースをいじることなく、開発 (ローカルホスト) セットアップと運用セットアップの間で簡単に切り替えることもできます。
商用サポート
商用サポートも利用可能です。特定の機能が不足している場合、またはプロジェクトに関するサポートが必要な場合は、[email protected] までご連絡ください。