だから今、facebook/google/github などからアプリにログインする方法がたくさんあります。しかし、問題は、各サービスについて私についてほぼ同じデータ、特に電子メールアドレスを取得し、現在各サービスについて流星が新しいアカウントを作成し、DB内の一部のユーザーが既に使用しているかどうかを確認するにはどうすればよいか疑問に思っていたことです.特定の電子メール (これはもちろん一意です) を作成し、新しいユーザーを作成する代わりにサービス オブジェクトを拡張し、そのようなユーザーがまだ存在しない場合はそれを作成します (拡張の例): (ユーザーは facebook 経由でログインをクリックします):
{ "createdAt" : ISODate("2013-11-03T17:13:14.232Z"),
"_id" : "xxx", "services" : { "facebook" : { "accessToken" :xxx", "expiresAt" : xxx, "id" : "1841894180", "email" : "xxx", "name" : "Boaz Hoch", "first_name" : "Boaz"
ログアウトして google でログインすると、ユーザー オブジェクトは次のようになります。
{ "createdAt" : ISODate("2013-11-03T17:13:14.232Z"),
"_id" : "xxx", "services" : { "facebook" : { "accessToken" :xxx", "expiresAt" : xxx, "id" : "1841894180", "email" : "xxx", "name" : "Boaz Hoch", "first_name" : "Boaz" and more of facebook...} //end of facebook service, google:{ { "accessToken" :xxx", "expiresAt" : xxx, "id" : "1841894180", "email" : "xxx", "name" : "Boaz Hoch", "first_name" : "Boaz" and more
このためのベストプラクティスはありますか?