Пользовательский returnUrl в стратегии Google Node.js Passport

Я использую стратегию Express и Passport OpenID Google, и я хотел бы установить returnURL для каждого запроса аутентификации, чтобы иметь возможность вернуться на страницу, которая инициировала эту аутентификацию.

Ситуация такова, что у меня есть приложение для слайдов HTML5 с бэкендом Node.js (а также с социальными функциями, редактором, порталом и расширениями... https://github.com/bubersson/humla) и Я хочу, чтобы пользователь мог войти в систему на каком-то слайде (через меню слайдов...), но затем я хочу, чтобы он легко вернулся к тому же слайду.

Значит, мне нужно что-то подобное?

app.get('/auth/google', function(req,res) {
   var cust = "http://localhost:1338/"+req.params.xxx;
   passport.authenticate('google', returnURL:cust, function ...
} 

Я прочитал руководство по Passport, но до сих пор не знаю, как это сделать. Я знаю, что это было бы небезопасно, но как еще я мог это сделать?

Или как сделать так, чтобы приложение возвращалось на страницу, с которой был инициирован вход? Или есть способ сделать аутентификацию OpenID с помощью AJAX (и при этом иметь возможность использовать паспорт)?

19
задан laggingreflex 6 January 2015 в 14:36
поделиться