私はdjango-social-auth(https://github.com/omab/django-social-auth)を使用してきましたが、ある程度の成功を収めています。TwitterとFacebookからのログインは問題なく設定されています。ただし、一部のOpenIDプロバイダーからログインすると、ユーザー名に空の変数が表示され、social-authアプリでこれが許可されます(SOCIAL_AUTH_DEFAULT_USERNAMEを設定しているにもかかわらず)。
SOCIAL_AUTH_DEFAULT_USERNAMEが適切に機能した場合、それは暫定的な解決策になる可能性がありますが、理想的には、openIDプロバイダーから自動的に設定されることをお勧めします。基本的に、私には2つの可能な解決策が残されています。
1)カスタムメソッドを作成して、openIDプロバイダーから送信された追加データの一部を抽出し、そこからユーザー名を設定します。2)ユーザーが最初にログインするときにユーザー名を設定するように強制します。
(2)はあまり洗練されていませんが、ユーザー名が毎回挿入されていることを確認し、ユーザー名に適した形式ではない可能性のある自動情報を後処理する必要もありません。
私の質問は、上記のいずれかを実装するにはどうすればよいですか?完全な回答は必要ありませんが、メソッドへのポインタをいただければ幸いです。
別の方法は、django-socialregistrationで遊んで、それが生活を楽にするかどうかを確認することです!
J