javascript - 使用带护照 js 的第三方登录时重定向到上一页
问题描述
我已经使用护照 js 用谷歌实现了登录,截至目前它重定向到家。登录可以通过每个页面标题中的模式调用。现在登录后,我想重定向到用户正在查看的页面。
app.js 用google调用登录:
app.get("/auth/google", passport.authenticate("google", {
scope: ["profile"],
prompt: "select_account"
}));
app.js 登录后将用户带回家:
app.get("/auth/google/myapp", passport.authenticate("google", {
failureRedirect: "/"
}),
function(req, res) {
// Successful authentication, redirect home.
res.redirect("/");
});
我有一个面包屑中间件来打印前端的面包屑,我想在调用登录屏幕之前访问最后一个 crumb.url 以重定向到最后一页。
get_breadcrumbs = function(url) {
var rtn = [{}];
acc = "";
arr = url.split("?")[0];
arr = arr.substring(1).split("/");
for (i=0; i < arr.length; i++) {
acc = acc+"/"+arr[i];
rtn[i] = {name: arr[i], url: acc};
}
return rtn;
};
app.use(function(req, res, next) {
req.breadcrumbs = get_breadcrumbs(req.originalUrl);
next();
});
我试图点击面包屑:
app.get("/auth/google", passport.authenticate("google", {
scope: ["profile"],
prompt: "select_account"
},
function(req, res, next){
var redirect = res.breadcrumbs; // undefined
}
));
解决方案
推荐阅读
- javascript - canvas.getContext('2d').arc() 方法是否居中?
- asp.net-mvc-5 - 带有 Angular 6-7 且没有 Node.js 的 ASP.NET MVC 5
- sql - 如何避免在蜂巢中交叉加入?
- firebase - 每次用户在应用程序 IONIC 3 中登录和注销时,我想将设备电池状态详细信息保存到 firebase
- mongodb - 验证 MongoDB 中数组项的类型
- windows - 如何使用端口获取本地 IIS 应用程序的物理路径?
- spring-boot - Thymleaf 在控制台打印太多信息
- java - 将项目资源中的图像写入字节数组
- java - Cordova Java 离子 Android
- assembly - GDB - 断点地址