2012-12-13 4 views
5

私はこれらのマルチプロバイダ認証フレームワークのうちの1つを使用しようとしていますOpauthまたはHybridauth(どちらが最適かはわかりませんが、私は2番目の設定を少し好みていました)が結果的に複数のアカウント。私のウェブサイトのマルチプロバイダ(facebook、twitter)からユーザアカウントを管理するには?

私はすでに自分のアカウント管理(ログイン+パスワード+メール)を持っており、昨年のfacebookユーザーがいました。今私はTwitterのアカウント、linkedinアカウントなどを処理する必要があります... 質問は簡単です:どのようにユーザー名を管理するのですか? たとえば、Johnは自分のサイトにアカウントを作成します。したがって、 "John"ログイン/ユーザー名が使用されます。しかし、Facebookからの別のJohn、Twitterからの別のJohnが到着したら、私は何をすべきか? Stackoverflow(または他の場所)では、どのような練習ですか?

私は別のジョンのためにジョンの書き込みを望んでいません。今日私自身のシステムでは、ログイン(ユーザー名)が一意であることを確認します。そうでない場合は、ユーザーを拒否します。でも今 ?

私は電子メールをチェックできると思っていましたが...私は電子メールアドレスがあなたにそれを与えていないTwitterのために鍵にはならないことを学びました。

希望あなたはそれだけで異なるソースからユーザー名を取得し、それを保存することはできません言うように私は:)

よろしく

答えて

0

十分に明確です。私はそれがここでstackoverflowでどのように行われているのかわかりませんが、あなたが名前を登録しようとするとオプションなのでおそらくそれは一意のキーではありません。私はここにtwitterでログインする方法を見ることができないので、電子メールは一意の鍵だと確信しています。

私はあなたの質問に答えようとしますが、私はfacebook APIしか使用していないので、これは他の人にはできないかもしれません。私は、各APIがあなたのデータベースに格納し、後で自分のAPIに対してあなたのユーザーを識別するために使うことができるものをあなたに与えると思います。

は、ユーザーは、あなたが(私はさらにいくつかがあると確信している)、次のアプローチを使用することができます(...さえずり、やGmail)のFacebookに登録することができた場合:

  1. 彼らは常にでログインfacebook(またはtwitter、gmail ...):あなたのデータベースの中に、APIによって提供されたキーとあなたが収集できるその他の有用な情報を使ってレコードを保存します。あなたは、各APIがあなたにさまざまなことを教えてくれたので、ユーザーに良い経験を提供するために本当に必要なものを事前に考えなければなりません:名前は必要ですか?年齢? APIによって提供されるデータよりも多くのデータが必要な場合は、次のアプローチにジャンプするか、プリフェッチしてから編集可能にする必要があります。ここであなたはパスワードを要求しないので、ログインフォームではなくfacebookでしかログインできません。ユーザーがfacebook(またはtwitter、gmail)で認証しようとすると、再度探して認証する必要のある鍵が分かりますあなたの使用。

  2. アカウントを作成してfacebook(または何でも)とリンクすることができます:あなたはFacebookの許可を求めて、欠落しているデータを提供するためのフォームを事前入力します(パスワード、 )また、APIが提供する一意のキーを格納しているレコードを作成して、フェイスブックアカウントを使用してログインする場合はステップ1と同じように進めます。パスワードとEメールを求めた場合、標準のログインフォームを使用することもできます。

  3. 最初の方法を使用して、他のユーザー(あなたの名前の名前)と競合している属性を変更するか、サインするために使用しているソーシャルネットワークに応じて不足しているものを記入するよう依頼することができますあなたがあなたのユーザを識別するために保存したいものであれば、名前+姓をユーザ名として使用してコリジョンの可能性を減らすことができます。

・ホープこのことができますHybridAuthはあなたにソーシャルメディアを使用してサイトを統合するための優れた方法を提供します

+0

助けてくれてありがとう@LuisClemente。 実際、私は一意のIDを管理するための問題はありません。すべてのプロバイダがユニティシティを管理していますので、問題はありません。私のシステムもそれを管理しますが、電子メール+ログインに基づいています。 質問は、たとえばJohnがニュースをコメントしたときのJohnとJohnの違いを知る方法です。私はちょうどStackoverflow URLに一意のIDを追加することを見た。私はすべての "ピエロ"を検索し、2が存在します:) ==> SO.com/users/ ** 985357 **/pierrot – Pierrot

+0

@Pierrotあなたの答えがあります。ここにあるように、名前は重複していてもかまいません(そのため、一意のキーではないため)、そのプロファイルが表示されている場合(または別のアバターやXDがある場合)のみ違いを示すことができます。私が言ったように、それはあなたのユーザーにとって必要な経験と、あなたのサイトが働くために重要なことに完全に依存します。 – LuisClemente

+0

はい@LuisClemente、そうです。私は私のWebサイトの動作を補完的に変更する必要があります。しかし、私はそれが最高だと思うし、[janrain.com](http://janrain.com)で読むと、OpenIDアカウント管理でもっと多くのメンバーをドラッグできます。 ありがとうございました。物事をより明確に見るために討論する:)。 – Pierrot

関連する問題