很高兴知道,因为我的基本注册/身份验证系统正在进行中。
所以基本上我得到了这个:
app.post('/login', function(req,res) {
Users.findOne({
email: req.body.email
}, function(err, user) {
if(err) throw err;
if(!user) {
res.send({success: false, message: 'Authentication Failed, User not found.'});
} else {
//Check passwords
checkingPassword(req.body.password, user.password, function(err, isMatch) {
if(isMatch && !err) {
//Create token
var token = jwt.sign(user,db.secret, {
expiresIn: 1008000
});
res.json({success: true, jwtToken: "JWT "+token});
} else {
res.json({success: false, message: 'Authentication failed, wrong password buddy'});
}
});
}
});
});
然后,每当我在标头中发送带有jwt的get请求时,我就保护了/ admin路由和POSTMAN的安全,一切正常。
现在这是棘手的部分,基本上,当我要登录时是否成功,然后将我重定向到管理页面,并且每次尝试访问admin /
*路由时,我都想将jwToken发送到服务器,但问题是,我该如何实现?我没有使用redux / flux,只是使用react / react-router。
我不知道机械师是如何工作的。
多谢你们
1-登录组件向API服务器端点发送登录请求
2-服务器API端点返回令牌
3-我将令牌保存在用户的localStorage中
4-从现在开始所有的API调用都将包含在标题中
示例:https://github.com/joshgeller/react-redux-jwt-auth-
example
安全更新:
正如@Dan在评论中提到的那样,不应将令牌存储在Localstorage中,因为每个JavaScript脚本都可以访问该脚本,这意味着您不拥有的第三方脚本可以访问令牌并对其进行任何操作。
更好的地方是使用HttpOnly标志将其存储为Cookie。
我有一个节点。js Express web应用程序,用户可以通过将电子邮件地址和密码发布到路由来登录,成功后,他会收到一个JWT令牌并将其存储在本地存储中 我刚开始使用JWT令牌进行授权,有一件事我真的不知道该怎么做。如何确保用户在成功登录后每次请求都发送JWT令牌? 我没有使用任何前端框架,如React或Vue。
问题内容: 我是React.js的新手,我实现了一个组件,在其中我从服务器获取数据并像这样使用它, 我想将Url存储在配置文件中,所以当我将其部署在测试服务器或生产环境中时,我只需要更改配置文件中的url(而不是js文件中的URL),但是我不知道如何在react.js中使用配置文件 谁能指导我如何实现这一目标? 问题答案: 使用webpack,您可以将env特定的配置放入以下字段中 如果要将配置存
假设我有5个请求,我想并行发送所有5个。我可以使用CompletableFuture.allOf()来做到这一点;但是,allOf()只有在所有期货都成功时才返回,即使有一个失败也会失败。我如何从n个成功的期货中得到x,并且在并行发送请求的同时忽略失败的期货? 我正在尝试采取的步骤: .
我正在创建一个不使用数据库的服务。 我将所有的请求数据存储在文件系统中。 我正在使用spring Boot开发服务。
问题内容: 我正在尝试向SOAP Web服务发送请求。我阅读了本教程并准备了以下代码。但是,我将向多个SOAP Web服务发送不同的请求,而本教程只关注一个请求。如何使用发送SOAP请求? WebServiceTemplate 问题答案: 您可以使用以下代码,而无需在xml文件中定义任何内容。
问题内容: 我不想使用文件,但是只有django才需要发出POST请求。 就像发送请求一样。 问题答案: 结合使用urllib2和urllib中的方法即可解决问题。这是我使用这两种方法发布数据的方式: 是用于打开URL的方法。 将参数转换为百分比编码的字符串。