0

stackoverflow に少し似たユーザー登録ページを作成しています。そのためには、ユーザーが facebook 、 twitter 、 google 、linkedin などのサードパーティのネットワークに既にアカウントを持っている場合、カスタム登録の代わりに機会を与える必要があります。

サードパーティのネットワーク ID、メール、名前 をデータベースのユーザー テーブルに保存する必要があります。その特定のユーザーが来て、同様のユーザー名を提供し、彼の認証が成功した場合、私は彼に私のサイトのユーザーページを使用するためのアクセスを与えることができます. (サードパーティネットワークのソーシャルネットワークのパスワードを保存することに興味はありません)

どうすればそのようなシステムを構築できるのか少し混乱しています。誰かが私にopenidとopenauthを教えてくれましたが、どちらが正しい結果をもたらすかわかりませんか?

4

1 に答える 1

1

この質問では、使用することを選択するか、openidまたはopenauth両方がユーザーの ID を提供するかは重要ではありません。私がやりがちな方法は次のようなものです:

table users_openids(identity, user_id, created, last_used, ...)

その後、ユーザーは、多数の ID からデータをインポートする場合に備えて、複数の ID を添付できます。

ID 経由でログインするには、メイン テーブルで user_id を検索するだけです。

したがって、既存のユーザーの場合は行を追加するだけです。新しいユーザーの場合は、NULL パスワードを使用して新しいユーザーを同時に挿入し、アプリケーション ロジックで正しく処理するようにしてください。ハッシュを使用する必要があるため、とにかく誰かが NULL を入力した場合、一致することはありません。

于 2012-07-14T21:36:02.593 に答える