任何人都可以说我如何使用angularjs 1.x自动登录。我将发送带有网址的电子邮件,当他们点击该网址时,它应该自动转发到主页。
网址将包含电子邮件和加密密码:
http://localhost:8080/login/amg1.2.3@outlook.com/ $ 2A $ 08 $ cZPWmzta7Gn9Mj14r7zGWeMPKNKkkg8JS3gWNL2fQaFuBwrhgKQC
点击此网址会将我重定向到主页,而不会显示任何登录页面。 我使用护照登录功能。
你能解释一下我是如何使用护照和这样的表格发布的吗
app.get('/login/:email/:pwd', function(req, res) {
console.log(req.params.email);
console.log(req.params.pwd);
var request = require('request');
request.post({
headers: {'content-type' : 'application/x-www-form-urlencoded'},
url: 'http://localhost:8080/login/',
form: { email: req.params.email,password:req.params.pwd }
}, function(error, response, body){
console.log(error);
console.log(body);
console.log(response);
});
});
请检查一下我的目标,告诉我如何改进代码gist.github.com/agupta330/0fb55b50eecf4b1305ebfe15869b295d
答案 0 :(得分:0)
它与angular无关,因为它是服务器端。
您不应使用加密密码,因为您的链接永不过期。最好生成随机密钥并将其存储在数据库中,就像使用会话ID一样。
如果用户点击该链接,该密钥有效且未过期,您将生成一个新会话,并将会话cookie与redict一起发送到您的角度页面给用户。
对于角度页面,您不必更改任何内容,因为用户似乎正常登录(使用cookie中的会话)