質問: 人力検索はてながTwitterやFacebookのアカウントでも回答できるようになりましたが、どのように連携しているか教えてください。 TwitterはOAuth、Facebookはconnectですか? FacebookもOAuthですか? それともどちらもOpenIDですか? OAuth,OpenID,Facebook connectの違いもからめてご教示いただけると助かります。
回答: Twitter 連携では OAuth1.0, Facebook 連携では OAuth2.0 を利用しています。 Facebook も Twitter も OpenID を提供していなかったと思いますので OpenID を提供している Yahoo! JAPAN を例に説明します。OpenID を利用すると外部のサービスは「認証」つまり「このユーザーは Yahoo! JAPAN では example というアカウントである」ということを(ユーザーが許可すれば) 知ることができます。 一方 OAuth を利用すると 外部のサービスは「認証」に加えて「認可」つまり「 ユーザー の代わりに Twitter に投稿する権限を認可してもらう」というようなことができます。ユーザーからみると、ユーザーがTwitterでできることの一部の権限を外部のサービスに渡すことができます。 Facebook や Twitter のアカウントではてなにログインする時には、OAuth を利用して「Twitter に投稿する権限」 や 「Facebook の ウォールに投稿する権限」 をユーザーに認可してもらっています。「認可」ができるのはユーザー本人だけなので、同時に「認証」もしていることになります。はてなIDでログインするときにはパスワードで本人確認をしていますが、Twitter アカウントで はてなにログインするときは パスワードの代わりにこの「認証」を使っています。またユーザーが認可したときに、はてなは「Twitter で投稿する権限」 のついた鍵を Twitter からもらえます。 はてなではその鍵を使って回答を Twitter に投稿しています。 拙い説明で申し訳ありませんが概ね以上のような仕組みとなっております。 Facebook connect については利用してないので詳しくはわかりませんが、OAuth2.0以前にFacebookで使用されていたシステムのようです