4

ユーザーがコンテンツを保護するためのリンクを共有できるようにしたい。www.mysite.com/#/article1 の場合、別のユーザーがこのリンクを開くと、ログイン ページにリダイレクトされ、完了すると同じ URL にリダイレクトされます。

ハッシュタグを使用する単一ページアプリを持っていますが、通常の URL でこれを行う方法もわかりません。

現在 .redirectPath('/') は文字列でなければならないため、文字列を返す関数にすることはできません。また、req.url にアクセスできないため、その値を動的に取得する方法がわかりません。

これは Twitter 固有の問題ではなく、私が信じているすべての oAuth ログインで同じです。

4

2 に答える 2

4

私は同じ問題を抱えています。現時点では、これを実現するために単純なセッション スキーマを使用していますが、これは最善の解決策ではありません。

例えば:

app.get('/login/facebook', function(req, res) {
  req.session.redirect = req.header('referer');
  res.redirect('/auth/facebook');
});

そしてあなたのeveryauthのリダイレクトパスで:

app.get('/', function(req, res) {
  if (req.session.redirect) {    
    res.redirect(req.session.redirect);
    req.session.redirect = null;
  } else {
   res.render('index');
  }
});
于 2012-05-11T12:13:33.637 に答える