2

ユーザーが自分の foursquare アカウントを自分のウェブサイトのアカウントにリンクできる機能を追加しています。Foursquare の oauth アカウント承認により、ユーザーは foursquare の Web サイトに移動し、Web サイトを承認した後、ユーザーを URL にリダイレクトします。

ユーザーが自分のアカウントに foursquare 機能を追加することを決定したときに、私の Web サイトでユーザーのコンテキストを壊さないようにしたいので、新しいウィンドウで Foursquare のアカウント認証を行う予定です。

var foursquare_popup = window.open("foursquare_url_to_authenticate_user");

承認が完了したら、ポップアップを静的な成功ページにリダイレクトします。

Wired のつぶやきボタンのようないくつかの場所で oauth ポップアップが行われるのを見てきました。

これは twitter/facebook/foursquare などで oauth を処理する良い方法ですか?

4

2 に答える 2

2

一部のブラウザー (特に携帯電話のブラウザー) がポップアップ ウィンドウをサポートしていないという理由だけで、oauth サインイン プロセスの一部としてポップアップ ウィンドウを開かないことをお勧めします。また、ブラウザがポップアップをサポートしていても、ユーザーがポップアップ ブロッカーをオンにしている場合があります。

より良い方法は、ユーザーを Web サイトからサービス プロバイダーにすべて同じウィンドウでリダイレクトすることです。

私は現在、私のウェブサイトのページにある目に見えない iframe でこれを行う方法に取り組んでいます。このように、ユーザーが既にサービス プロバイダーにログインしている場合、ユーザーを私の Web サイトから誘導する必要はありません。ただし、私はこの機能の途中であるため、まだ機能することを確認できません。

于 2012-08-16T00:42:42.043 に答える
1

ポップアップウィンドウを使用する場合は、display = webpopupを指定できます(https://developer.foursquare.com/overview/auth#displayを参照)。

また、コールバックURLで追加のパラメーターを指定できます。これは、oauthフローによって保持されます。したがって、redirect_uriのパラメーターとして「&state = settings / accounts」などを渡した場合は、成功時にそれを解析して、ユーザーとのセッションを適切に再開できます。

于 2012-08-16T19:53:20.333 に答える