web-dev-qa-db-ja.com

Django appでFacebookログインを可能にする方法は?

Djangoアプリケーションを作成しました。アプリにはログイン機能があります。

誰かがFacebookの資格情報を使用してログインできるようにする方法を見つけるのを手伝ってくれるか、それを実装するためのチュートリアルを教えてくれますか?

42
rv_k

概要;


Django-all-access


Django-all-accessは、OAuth 1.0およびOAuth 2.0のTwitterやFacebookなどの2.0プロバイダーからのユーザー登録および認証用の再利用可能なアプリケーションです。

このプロジェクトの目標は、これらのリモートAPIで認証するための独自のワークフローを簡単に作成できるようにすることです。 Django-all-accessは、デフォルトの振る舞いをオーバーライドするためのフックとともに、健全なデフォルトを持つ単純なビューを提供します。

http://allaccess-mlavin.dotcloud.com/ で実行されている簡単なデモアプリケーションがあります。このアプリケーションの完全なソースはリポジトリに含まれています。

Django-allauth


統合されたDjango認証、登録、アカウント管理、およびサードパーティ(社会)アカウント認証に対応するアプリケーション。

サポートされているフロー

  • ローカルアカウントとソーシャルアカウントの両方のサインアップ
  • 複数のソーシャルアカウントをローカルアカウントに接続する
  • ソーシャルアカウントの切断-ローカルアカウントのみが残っている場合はパスワードを設定する必要があります
  • ソーシャルアカウントのオプションのインスタントサインアップ-質問なし
  • 電子メールアドレス管理(複数の電子メールアドレス、プライマリの設定)
  • パスワードを忘れた場合の流れ
  • メールアドレス確認フロー

サポートされているプロバイダー

  • Dropbox(OAuth)
  • Facebook(OAuth2とJS SDKの両方)
  • Github
  • Google(OAuth2)
  • LinkedIn
  • OpenId
  • ペルソナ
  • SoundCloud(OAuth2)
  • スタック交換(OAuth2)
  • Twitch(OAuth2)
  • ツイッター
  • Weibo(OAuth2)

Django Social Auth


Django Social Authは、Djangoプロジェクトのソーシャル認証/承認メカニズムをセットアップする簡単な方法です。

Django-Twitter-oauth および Django-openid-auth の基本コードを使用して作成され、サードパーティからの新しい認証プロバイダーを定義する共通のインターフェイスを実装します。

サポートされているプロバイダー

  • Google OpenID
  • Google OAuth
  • Google OAuth2
  • Yahoo OpenID
  • MyOpenIDのようなOpenId
  • Twitter OAuth
  • Facebook OAuth

Django-Socialauth


何をする

  1. さまざまなプロバイダーを介したログインを許可します。
  2. さまざまなサードパーティのサイトから連絡先をインポートして、どの友人がすでに当社のサービスを使用しているかを調べます。

ログインする

これは、さまざまなサードパーティのサイトを介した認証を可能にするアプリケーションです。特に、経由でのログインを許可します

  • ツイッター
  • Gmail
  • フェイスブック
  • Yahoo(本質的にopenid)
  • OpenId

oauth2app


Oauth2appモジュールは、DjangoサイトオペレーターがOAuth 2.0インターフェイスを提供します。モジュールはアプリケーションとして登録されます。

Django-oauth


これは、David LarletのDjango-oauthの分岐バージョンです。

1つの非常に重要な違いは、このバージョンでは、実際のキャッシュを Djangoのキャッシングフレームワーク の背後で実行する必要があることです。

Django-oauth-access


サポートされているプロバイダー

  • ツイッター
  • LinkedIn
  • ヤフー
  • Facebook(OAuth 2.0を使用—機能的ですが、さらに作業が必要です)
  • おそらくすべてのOAuth 1.0a準拠サイト

Django-oauth-consumer


A Django消費するためのインフラストラクチャを提供するアプリケーションOAuthサービス。OAuthサービスを提供するためではありません。


また便利です:

78
Alireza Savand

Django-social-auth を使用することを強くお勧めします。 READMEは非常に完全であり、他のOAuth Twitterなどのソース、およびGoogleやYahooなどのOpenIDソースに対して認証するための情報も含まれています。 、Facebook認証だけが必要な場合は、そのために使用できます。

また、付属のサンプルアプリケーションもあり、再生するサンプルコードを提供します。

18
Brad Montgomery

モバイルアプリケーションの場合、Django=を使用してios/Android用のアプリケーションを開発している場合、facebook ios/Android apiを使用してフロントエンドでfacebookにログインできます。ただし、 facebook-loginで、facebookはアクセストークンを提供します。アクセストークンは、facebookのユーザー名/メールと一緒にDjangoバックエンドに送信できます。 Django facebook python sdk のようなものを使用して、facebookと通信してユーザー名とアクセストークンのペアを確認できます。確認された場合、最終的にアプリのユーザーにログインできます。

python sdkは簡単に使用できます。チュートリアルを読むだけで、数秒でfacebookと通信できます。

9
Samir Ahmed

新しい方法は、python-social-authを使用することです。これは、Django-social-authがpython-social-authを支持して廃止されたためです。 Flask、Pyramid、Web.py、TornadoなどのDjango)以外のフレームワークをサポートするようになりました。

また、Microsoft、Google、Twitter、Amazon、GitHubなど、他の主要な認証プロバイダーもサポートしています

Djangoで設定するための簡単な開始方法を次に示します。 Djangoを使用してGoogle+ APIでサインインする方法

1
StaticX

Django-allauth をお勧めします。うまくいく!

0
Joe Inner