クライアント側では、iOS SDK for Facebook を使用してログインし、Facebook ID とアクセス トークンを取得します。
ここで、Django 側で、Facebook ID をプライマリ識別子として使用し、アクセス トークン、名、姓などの他のフィールドを使用してユーザーを作成したいと考えています (最後の 2 つはサーバー上の Graph API から取得します)。側)。
カスタム ユーザー モデルを作成する必要があることはわかっています。
ユーザーに関連する情報を保存する場合は、追加情報のフィールドを含むモデルに 1 対 1 の関係を使用できます。この 1 対 1 のモデルは、サイト ユーザーに関する非認証関連の情報を格納する場合があるため、プロファイル モデルと呼ばれることがよくあります。
Facebook ID とアクセス トークンを認証に使用するので、これでは不十分です。
これにより、2 つのオプションが残されます。カスタム ユーザー モデルを次のように置き換えることができます。
AUTH_USER_MODEL = 'myapp.MyUser'
または、AbstractUser をサブクラス化できます。
Django の User モデルに完全に満足していて、追加のプロファイル情報を追加したい場合は、単純に django.contrib.auth.models.AbstractUser をサブクラス化し、カスタム プロファイル フィールドを追加できます。
しかし、それも正しくはありません。また、このデザインのヒントは、私をもう少し混乱させました。
モデル設計に関する考慮事項 カスタム ユーザー モデルで認証に直接関係しない情報を処理する前に、慎重に検討してください。アプリ固有のユーザー情報は、ユーザー モデルと関係のあるモデルに格納することをお勧めします。
私がやろうとしていることを実装する最良の方法は何ですか?