connect-auth

Facebook なドキュメントとか確認してたらハロワな Apps 登録済みだった。connect-auth/example/keys_file.js の

exports.fbId= "";
exports.fbSecret= "";
exports.fbCallbackAddress= "http://yourtesthost.com/auth/facebook_callback";

に (callback 以外) 指定されてるナニを入力しといて callback は www.google.com とかにして動作確認。以下なレスポンスが戻ってきました。

{
   "error": {
      "message": "Invalid redirect_uri: Given URL is not allowed by the Application configuration.",
      "type": "OAuthException"
   }
}

ま、当たり前っちゃ当たり前ですが、とりあえず別途で

  • node-ninja.com 方面にハロワなソレをでっち上げる
  • facebook な Apps の Website なソレに URL 登録
    • Website I want to allow people to log in to my website using Facebook. という項目

で動作確認の方向。

Facebook アプリの設定項目に Website というソレがあったので無理矢理 www.google.co.jp とかに設定してリトライしてみたら

http://www.google.co.jp/?code=fugahoge

みたいな URL が戻ってきました。ここから先は connect-auth の範疇の外らしい。facebook の Authentication なドキュメント曰く、この code を取り出して以下な URL にアクセスせい、との由。

https://graph.facebook.com/oauth/access_token?
client_id=YOUR_APP_ID&redirect_uri=YOUR_URL&
client_secret=YOUR_APP_SECRET&code=THE_CODE_FROM_ABOVE

上記から redirect される URL がアプリの入口ってことで良いのかな。あ、あと redirect された先で access_token が取得できる模様。これも要確認ですね。
とりあえず TODO として

  • code を取り出してリダイレクトする機能
  • access_token を受領

なパーツを作る必要があるのかどうなのか。あと、connect-auth の使いかたが今一つ分かってないというか入口部分をどうすりゃ良いのかが微妙。