3

Express.js と angular,js を使用して、クライアントが Facebook 経由で認証する Web アプリを作成しています。Facebook 認証では、facebook-node-sdkを使用して Facebook に接続し、詳細を取得します。

urlこのコードは、認証がリダイレクト経由で行われる場合にうまく機能します。しかし、POSTクライアントからリクエストを送信して同じコードを呼び出すと、同じコードは結果を返しません

サーバーコード

app.post('/login', Facebook.loginRequired(), function(req, res){
  var result = {};
  req.facebook.api('/me', function(err, user) {
      console.log(user);
      if(user !== undefined){
        result.status = 1;
        result.name = user.name;
        res.contentType('json');
        res.write(JSON.stringify(result));
        res.render('index')
        res.end();
      }
      else{
        result.status = 0;
        result.name = "Error signing into Facebook";
        res.contentType('json');
        res.write(JSON.stringify(result));
        res.render('/')
        res.end();
      }
    });
});

上記のコードが呼び出されたときにエラーはありません。console.logショー:

POST /ログイン 302.

リクエストを介してFacebookを認証することは可能POSTですか、それとも常に直接URLリクエストにする必要がありますか? もしそうなら、POST経由で認証するオプションはありますか?

4

1 に答える 1

5

始めたばかりで、gmail や twitter などの他の Oauth 認証を使用する場合。Passport.js を使用することをお勧めします。

それははるかに簡単です。http://passportjs.org/

于 2013-08-08T15:28:35.803 に答える