43

私のウェブサイトでは、ソーシャル ログインに django-allauth を使用しています。また、モバイル アプリのバックエンドとして機能する django-rest-framework を利用した REST API もあります。モバイル アプリで Facebook ログインを使用するユーザーを検証 (および登録) できるように、allauth の認証バックエンドを REST API に直接接続する方法はありますか?

明確にするために: Facebook ログイン部分は、ネイティブ SDK によって処理されます。のように機能する (つまり、新しいユーザーを作成する) エンドポイントが必要ですPOST /userが、電子メール/パスワードなどの代わりに Facebook oauth トークンを入力として受け取ります。

4

4 に答える 4

2

allauth と rest-fremework を一緒に使用する方法はよくわかりませんが、allauth はそのような endpoint を提供しません

提案: 次のバリエーションを実行する独自のものを作成してください:
allauth.socialaccount.providers.facebook.views.fb_complete_login(None, socialtoken) を呼び出します。それは(より深いいくつかの機能)django.contrib.auth.loginを実行し、おそらくacctを作成します。

その後、モバイル デバイスで使用するために、認証 (FB ではない) トークンを使用できる可能性があります。(セッションから?) ユーザー データを取得し、rest_framework.authtoken.views.obtain_auth_token を呼び出します。

注:
1. これは方法を提供しません。電子メールの競合を解決したり、ソーシャル/ローカル アカウントを接続したりします。
2. 試したことはありません。動作させることができる場合は、コードを投稿してください。

于 2013-09-05T06:39:55.900 に答える
1

djoser を使用できますが、allauth とどのように連携するかはわかりません: https://github.com/sunscrapers/djoser

于 2015-04-17T12:07:45.453 に答える