2016-07-24 10 views
0

私は、電子メール&パスワードを使用してユーザー登録を行ったアプリケーションを持っています。私はソーシャル認証プロバイダを追加するためのプロセスフローを試しています。 LinkedInのを使用する例として、社会認証プロセスフロー

は、両方が同じように見える&登録処理ログイン:

Get authentication token from LinkedIn 
If successful, get id, email, firstname, lastname from LinkedIn. 
Try find a user in our user table with email or linkedin id. 
If no user create, storing linkedin id, email, firstname, lastname 
Login to our site. 
  1. をこれが最も適した流れですか?
  2. ユーザー作成時のユーザーテーブルのパスワードはどうすればよいですか?ユーザーは後で、LinkedInではなく彼の電子メール&パスワードでログインしたいと思う。
  3. Twitterは電子メールへのアクセスを提供していないため、上記のプロセスに従うことはできません。

答えて

1

あなたは、関連する社会的なアカウントの関係で

これをうまくすることができ、これは最も適した流れですか?

  • はい、それが最も一般的だが、ユーザーは(任意のプロセスのパスワードや社会プロバイダとの)アカウントを作成し、これまで、あなたがloginTypes(PWD、ツイッター、FBのようにその情報を格納することができたときに多くを採用することは、あなたが同様に行うことができます提供します)など、それは配列のようなものです

ユーザーの作成時にユーザーテーブルのパスワードはどうすればいいですか?ユーザーは後で、LinkedInではなく彼の電子メール&パスワードでログインしたいと思う。

  • 彼らが必要とする場合は、ユーザーがパスワードでログインしようとしたときにそう種類

の一つとして、パスワードが含まれるように、ログインタイプを更新し、セットアップパスワードをユーザーに選択肢を与えることで、これをサポートすることができますあなたは電子メールでアカウントを見つけて、ログインタイプにパスワードが追加されているかどうかを確認することができます。そうであればパスワードチェックをもう一度拒否します。

Twitterは上記のプロセスに従うことができません。

あなたは、TwitterのユニークなIDがDB内のユーザーに対して返さ保存し、あなたを明確に次回

希望をチェックするためにそれを使用することができます