web-dev-qa-db-ja.com

接続されたソーシャルアカウントと潜在的な孤児への対処

私たちのアプリケーションには、次のサインアップパスがあります。

Twitter Connect Facebook Connectメール/パスワード

1つでサインアップすると、ソーシャルアカウント(電子メールサインアップの場合)または他のソーシャルアカウント(TwitterまたはFacebookサインアップの場合)の両方を接続するオプションがあります。各アカウントを接続することで、今後そのアカウントでサインインすることもできます。

問題は、孤立した可能性のあるアカウントに対処する最良の方法は何ですか。例えば:

  1. ユーザーAはTwitterアカウント「mytwitter」でサインアップします

  2. ユーザーAがログアウト

  3. ユーザーBがFacebookにサインアップ

  4. ユーザーBはTwitterアカウント「mytwitter」をFacebookログインに接続します。

この時点で、ユーザーAのアカウントは孤立します。

いくつかのオプションが表示されます:

  1. サインアップの方法に関係なく、常に電子メール/パスワードが必要です。これは摩擦を引き起こすため、理想的ではありません。

  2. ユーザーAとユーザーBをマージします。ユーザーBは乱雑に見え、プライバシーの懸念がいくつかあります。

  3. そのTwitterアカウントがすでに存在するというメッセージをユーザーBに送信します。それも理想的ではないようです。

誰でもこれを解決した経験がありますか?よくある問題のようです。

9
roomnoise

それは本当にあなたのシステムが何をして何をするかに依存します。自分で質問に答えて、この使用例に当てはまる顧客に尋ねましたか?

私はいくつかの仮定を行い、うまくいけば決定を下すのに十分な情報を提供します。

アカウントのマージ

ここで、ユーザーが別のアカウントに接続するためのフローを作成できます。ログインしていると想定して、別の承認フロー(TwitterやConnectなど)を介して(ログイン中に)サイトにサインインしてアカウントをリンクする機能を提供します。アカウントが承認され、すでに存在する場合は、リンクできますユーザーはアカウントを統合するための知識に基づいた決定をしているため、これが最も安全なルートになります。

孤児

ユーザーがアカウントのマージを望まず、それらをマージしたくない場合。解決策は簡単です。システムの観点から判断する必要があります。

  1. そのようなアカウントの削除がシステムに悪影響を与える場合、システムに保持
  2. システム/データ/顧客が影響を受けず、データをクリーンアップするメリットがある場合-一定期間後に孤立したユーザーを削除します
1
Igorek

実際には、ユーザーAとユーザーBは同じ人物です。ユーザー名は各プラットフォームで一意であるため、「既存のアカウントがあるようです。それらをマージしますか?」後のメッセージをユーザーに表示しますTwitter認証プロセスがそれらを検証します。その後、アカウントのマージとデータベースの更新に関する開発上の問題が発生します。

別の同様の質問:

Facebook接続と既存のアカウント-これら2つをリンクする方法

私は今朝この問題について本当に良い記事を見つけたので、共有したかった: http://blog.mailchimp.com/social-login-buttons-arent-worth-it/

0
slyimperator