2011-09-27 6 views
1

私は自分のサイトのFacebookログインを実装しようとしており、問題の世界を抱えています。私はクライアント(JavaScript SDK)とサーバー側の実装の違いを理解していますが、どちらが正しい方法であるのか混乱しています。私が必要とするのは、データベース(ユーザーID、電子メール、名前など)にユーザーの情報を格納することです。そのため、サーバー側でデータが必要になることがわかります。私はJS SDKを介してログインし、バックエンドにデータを送信したくないので、簡単に偽装することができるので、ここで私が試したことは次のとおりです:FacebookのログインでJavaウェブ

私はSDKを使用しようとしました。ログインして、Facebookがセッションに入れたクッキーを確認するためにページを更新しますが、それは存在しないようです。その唯一のクッキーはセッションIDです。

さらに、サーバー側の実装を試みましたが、これはFacebookのログイン画面がポップアップではなくメインのブラウザウィンドウに表示される原因となりました。ユーザーが自分のサイトから離れてしまうため、これは望ましくありません。ログインワークフローを別のウィンドウに強制するには、最終的にFacebookにリダイレクトするログインURLを示す子ウィンドウをポップアップすることを考えましたが、ログインが完了した時点を知らない(私はFacebookのログインボタンを隠すためにメインページをリフレッシュする必要があります)。

どのようなヘルプやアイデアをいただければ幸いです!私はこれを正しい方法でしたいと思います...簡単な方法ではありません!

+0

あなたは、Spring SocialとWhy ..ありがとうございました。 – RHT

+0

私の回答をチェックしてください。私はこれらの例をTに追随させました。実装ではfacebookに接続してグラフapiを使用するのが非常に簡単になるため、私は春 - 社会を選択しました。また、私は下の私の回答にリンクしているポストに示されているspringsecurityとかなりうまく統合されています。 – threejeez

答えて

2

ボトムライン:ソーシャルネットワークに接続するためのjavaアプリケーションでspring-socialを使用してください。それはケーキだ!

+0

これを動作させるにはスプリングフレームワークを使用する必要がありますか? – RHT

+0

oauth2の[spring-social documentation](http://static.springsource.org/spring-social/docs/1.0.x/reference/html/serviceprovider.html#service-providers-oauth2)は良い出発点です。春のセキュリティと統合するために、私は[この投稿](http://blog.trickl.com/?tag=spring-social)が非常に役に立ちました。 – threejeez

0

私が知っている標準Java用の公式Facebook APIはありません。特にFacebookの場合、JavaアプリでREST APIを使用することができますhttp://restfb.com/

+0

お返事ありがとうございます。私は最後に春と暮らしました。 Restfbは実際にログインメカニズムを処理しません。それはあなたの責任です。ログインするとrestfbが便利になります。一方、Spring-socialは、ログインメカニズムを処理し、スプリングセキュリティとうまく統合し、さまざまなfb、twitterなどのファサードを提供します。 – threejeez