3

現在、Oauthを使用して、ユーザーがFoursquareを介してサインインできるようにしています。次に、このユーザーの新しいセッションを作成します。ユーザーがHunchを介してサインインするように求められたシステムを初めて使用する場合、これにより、両方のシステムからの情報に基づいてユーザープロファイルを生成できます。両方とも別々に各アプリケーションにサインインしていますが、FoursquareでログインしているユーザーをHunchのユーザーに関連付けるにはどうすればよいですか。私の考えは、ユーザーモデルでセッションIDへの参照を作成するか、セッションIDをハンチサインインのパラメーターとして使用することでしたが、これが最善の方法かどうかはわかりません。アソシエーションを作成する他の方法はありますか?

4

2 に答える 2

0

これを行う最も簡単な方法は、次のようなものです。

  1. サインインするには、ユーザーをフォースクエアに送ります
  2. ユーザーが戻ってきたら、データストアにレコードを作成します。
  3. ユーザーをHunchに送信してサインインしますが、手順2で作成したレコードのIDを続行URLに含めます。
  4. ユーザーが戻ってきたら、URLに埋め込まれているIDを使用して、ユーザーのハンチ情報をユーザーレコードに追加します。
于 2011-03-25T01:18:25.000 に答える
0

SiteUserの親になるように親の関連付けを作成できます。FoursquareAuthHunchAuth

ユーザーが最初にFoursquareでログインするときに、SiteUserモデルを作成してから、でモデルを作成FoursquareAuthparent=just_created_userます。次に、ユーザーを送信してハンチを介して認証する場合、コールバックパラメーターにユーザーのIDまたはセッションIDを含めます。コールバックが発生すると、ユーザーのキーを取得し、で作成HunchAuthparent=previously_created_userます。

モデルには、両方のソースからのSiteUser結合された情報(名前、場所、最終チェックインなど)が含まれています。モデルには、*Auth各プロバイダーから提供される保証された一意の識別子(user_id、access_tokenなど)が含まれています。

このように、ユーザーオブジェクトがある場合は、FoursquareまたはHunch認証データ(祖先フィルターを使用)のいずれかを見つけることができ、任意の*Authモデルをロードしてそのをフェッチすることでユーザーを見つけることができますparent()

(注:App Engineで使用可能なオブジェクトSiteUserと混同しないようにモデルを呼び出します)User

于 2011-03-24T19:49:48.300 に答える