0

ローカルサインアップのように作成後にログに記録されないため、ソーシャルサインアップで問題に直面しています。リダイレクトすると、api/users/me にアクセスできません。ユーザー情報をリダイレクトするローカル サインアップで取得したものとは異なり、無許可 (401) です。

facebook/index.jsには、デフォルトの取得があります

  .get('/', passport.authenticate('facebook', {
    scope: ['email', 'user_about_me'],
    failureRedirect: '/signup',
    session: false
  }))

  .get('/callback', passport.authenticate('facebook', {
    failureRedirect: '/signup',
    session: false
  }), auth.setTokenCookie);

そしてauth.service.jsにはデフォルトの機能があります

function isAuthenticated() {
  return compose()
    // Validate jwt
    .use(function(req, res, next) {
      // allow access_token to be passed through query parameter as well
      if (req.query && req.query.hasOwnProperty('access_token')) {
        req.headers.authorization = 'Bearer ' + req.query.access_token;
      }
      validateJwt(req, res, next);
    })
    // Attach user to request
    .use(function(req, res, next) {
      User.findByIdAsync(req.user._id)
        .then(function(user) {
          //user here is undefined, it shouldn't be. i want to find out why.
          if (!user) {
            return res.status(401).end();
          }
          req.user = user;
          next();
        })
        .catch(function(err) {
          return next(err);
        });
    });
}

function signToken(id, role) {
  return jwt.sign({ _id: id, role: role }, config.secrets.session, {
    expiresInMinutes: 60 * 5
  });
}

/**
 * Set token cookie directly for oAuth strategies
 */
function setTokenCookie(req, res) {
  if (!req.user) {
    return res.status(404).send('Something went wrong, please try again.');
  }
  var token = signToken(req.user._id, req.user.role);
  res.cookie('token', token);
  res.redirect('/');
}

誰でもこれで私を助けることができます...私は何か不足していますか?

前もって感謝します。

4

1 に答える 1

0

同様の問題がありました。カスタマイズ可能なバックエンド URL を使用して、Angular のフルスタック コードを変更しました。

https://github.com/kannach/AFSPhonegap/blob/master/client/components/services/config.service.js

バックエンド URL が実稼働サーバーを指していたのに対し、localhost で Facebook ログインをテストしていました。バックアップされた URL を localhost に変更すると、すべてが期待どおりに機能しました

于 2016-02-06T23:00:55.580 に答える