세션에 return url을 저장하면이 효과를 얻을 수 있습니다. '해시 태그'에 의해 당신이 URL의 조각 부분을 의미하는 경우 스스로를 설정하면 유일한 방법은 그것이 알고 있도록
// server
var app, express;
express = require('express');
app = express();
app.configure(function() {
app.use(express.cookieSession({secret: 'shh'}));
});
app.get('/auth/twitter', function(req, res, next) {
// to return to '/#/returnHash', request this url:
// http://example.com/auth/twitter?return_url=%2F%23%2FreturnHash
// on the client you can get the hash value like this:
// encodeURIComponent("/"+window.location.hash)
req.session.return_url = req.query.return_url;
next();
}, passport.authenticate('twitter'));
app.get('/auth/twitter/callback', passport.authenticate('twitter', {
failureRedirect: '/login'
}), function(req, res) {
var url = req.session.return_url;
delete req.session.return_url;
// redirects to /#/returnHash
res.redirect(url);
});
출처
2013-01-04 04:57:03
nrw
는 요청을 할 때 브라우저가 해당 정보를 보내지 않을 것을 유의하십시오. – ebohlman
@ebohlman 그건 사실이 아닙니다. – Beau