0

さまざまなサイトに配置できるウィジェットを作成しており、ユーザーがFacebook経由でログインして、ウィジェットの親サイトのアカウントに接続できるようにします。これを行うにはFacebookJSSDKを使用する予定でしたが、ウィジェットは、FB JS SDKがすでに別のアプリIDで初期化されているサイトに配置される可能性があり、この方法でコードを実行すると、名前空間の問題に。

私が思いついた現在の唯一の解決策は、サーバー側の型認証を行い、ウィジェットがホストされている現在のページに戻るリダイレクトURLを用意し、状態パラメーターを使用してバックボーンルーターにユーザーに警告することです。ログインしました。

私が最初に考えた問題は、Facebookのドキュメントサイトにそれが書かれていることです

セキュリティ上の理由から、redirect_uriは、アプリの設定のApp Domainプロパティで指定されているものと同じベースドメインを持っているか、https://apps.facebook.com/YOUR_APP_NAMESPACEの形式のURLである必要があります。

ログイン後にウィジェットがホストしていた元のページにユーザーを戻すにはどうすればよいですか?この問題へのより良いアプローチはありますか?

4

1 に答える 1

1

サーバー側認証とredirect_uriをサイトに使用して、さまざまなサイトにリダイレクトできます

リダイレクト URI =https://www.mydomain.com/?r=https%3A%2F%2Fwww.somesite.me

サーバー上で、クエリ パラメータ r を確認し、リクエストを r 値にリダイレクトします。

また、ユーザーに対して独自の認証を行い (ユーザーが最初にサインインするとき)、そこに facebook access_token を DB に保存することもできます。ウィジェットが (https の下で) 実行され、認証でユーザーを識別したら、ウィジェット クライアントにユーザーのaccess_token を使用して作業します。

独自の単純な FB のような ajax ライブラリを作成することもできます。ほとんどの場合、URL パラメーターとして access_token を使用した単純な get/post/put 呼び出しになります。

それが役立つことを願っています

于 2013-03-12T00:24:27.633 に答える