0

これはOpenId認証に関連しています。struts2にjavaを使用してgoogleとyahooのopenIdauthを実装しましたが、openIdプロバイダーの認証ページにページをリダイレクトしてから自分の成功したWebページに戻ることで実現されます。しかし、私が欲しかったのはfacebookauthと同じでした。jsonにあったオブジェクトはfbから渡され、fb認証はポップアップで行われます。リダイレクトを回避できるようにします。Plzは私を助けてくれます。

私はこの投稿part1-part4で言及されているものをいくらか実装しました: http://javadeveloperjournal.blogspot.in/2011/08/integrating-openid-into-my-struts-2-app.html

4

3 に答える 3

2

まず、FacebookにOpenIDを使用することはお勧めしません。また、FacebookはOpenIDに独自の実装を提供していませんが、特定のサードパーティの実装に依存しています。

OAuthを使用する最良の方法は、OpenIDと非常によく似ていますが、セキュリティと認証のレベルが異なるだけです。

OAuthダイアログへのURLをdisplay作成するときに、ページのリダイレクトまたはポップアップのどちらが必要かを示すパラメーターを指定できます。デフォルトでは、このパラメーターの値は次のように設定されています。page

OAuthの実装については、Facebookのドキュメントを参照してください

Facebookを使用したoauth

于 2012-06-15T04:56:57.057 に答える
0

そのリダイレクトは、OpenID仕様の必須部分です。とにかく、OpenIDプロバイダーがそれをサポートする必要がある人は誰でも、その方法でユーザーを認証します。しかし、Facebookは私が知る限りではありません。Oauthを使用してください。Facebookはそれをサポートしており、オープンスタンダードであるため、常にオープンスタンダードを使用することをお勧めします。

于 2012-06-16T08:59:13.670 に答える
0

他の回答が示しているように、ログインするためにOpenIDプロバイダーにあなたを渡すことは仕様の一部です。また、上記のUmeshと一致して、FacebookはOpenIdではないFacebook Connectを提供しますが、この方法を使用してユーザーを認証することができます。

参照:FacebookはOpenIDプロバイダーですか?

ただし、私が追加したいのは、OpenIDは使用したいものではないため、OAuthベースの認証システムを実行して作成するだけではないことを明確にすることです。OAuthは、ログイン認証だけでなく、より強力な機能を提供します。奇妙なことに、ユーザーはこれに気づいていません。OpenIdは資格情報を渡し、OAuthはデータへのアクセスを渡します。したがって、OpenIdを使用すると、Webサイトは私を認証でき、OAuthを使用すると、Webサイトは私を認証でき、Googleドライブ内のすべての電子メールまたはドキュメントにアクセスできる可能性があります。良い点は、ユーザーがこのアクセスを明示的に許可する必要があることです。

ただし、プライバシーの面で誤りがある場合は、OAuthの機能を必要とするアプリケーションの説得力のあるケースを作成する必要があります。下の記事の写真のように、あなたの身元を証明するために公証人の手紙を求めることと、あなたの身元を証明するために係員の鍵を求めることとでは違いがあります。

係員はOAuthです。車を持って駐車場に駐車する必要があるので、係員に鍵を渡します。グローブボックスやトランクを開けることはできませんが、運転席側のドアを開けてイグニッションを開始することはできます。これで、必要な作業はすべて完了します。ただし、個人小切手で支払う場合は、食料品店のレジ係にバレットキーを渡さないでください。彼女は写真付きの身分証明書を確認するだけで、政府発行の身分証明書はすべて機能します。技術的には、彼女が私の車を開いて私のVINを読み取り、DMVデータベースに対して認証できるようにする私の係員キーも機能するはずですが、それはおそらくやり過ぎです。

OpenId、OAuth、およびフェデレーションログインには適切な使用法がありますが、開発者として、それぞれをいつどこで使用する必要があるかを理解する必要があります。

http://en.wikipedia.org/wiki/OAuth#OpenID_vs._pseudo-authentication_using_OAuth

于 2012-08-22T04:18:49.977 に答える