javascript - 如何从前端处理 jsonwebtoken
问题描述
我正在开发一个完整的堆栈项目,用户可以在其中创建帐户、访问他们的个人资料、创建博客、阅读他们的博客、删除他们的博客等。为了执行所有这些任务(注册和登录除外),用户必须经过身份验证.
我已经完成了后端,但我不明白如何将 jsonwebtoken 从客户端发送到服务器端(我知道如何从服务器端发送它)。我知道如何从服务器获取令牌并将它们存储在浏览器的 locaStorage 中,但是当我请求阅读博客或删除博客或在阅读完所有内容后访问我的个人资料时,我不知道如何将它们发送回服务器我的博客。
如果我这样做 -
window.location.href = "/blogs";
那么我将无法发送身份验证令牌,或者我应该说我不知道如何使用这种方法发送身份验证令牌。
在堆栈溢出中,我读到了这项技术-
window.location.href = "/blogs?token=";
但我认为开发人员不会在他们的项目中使用这种技术,因为据我所知,令牌应该通过标头发送。
如果我总结我的问题,我只想知道如何将身份验证令牌发送到服务器以及更改不同路由的页面,例如显示我所有博客的不同页面和仅显示我的个人资料的另一个页面。如果其他未通过身份验证的人尝试访问个人资料路由或博客路由,则会收到 401 错误。
如果有人能解决我的困惑或向我推荐一本书或一篇文章来解决我的困惑,那将是一个很大的帮助。
解决方案
authorization
在您的请求中添加标头
headers: {
"authorization": "Bearer your_token"
}
它和将标头添加到ajax
请求的示例。
推荐阅读
- android - 如果应用程序在后台,Firebase 有时不会在一段时间后触发 onMessageReceived
- html - css 显示 flex 和换行
- c# - 基于datagrid c# wpf中的列从datagrid视图中禁用按钮
- html - 试图在引导程序 4 中居中弹性部分
- android - RecyclerView 会不定期更新
- angular - Angular 6显示应用程序引导的进度
- android - WINDOWS:不推荐使用“android”命令
- android-studio - 找不到项目所需的 com.project.expoview:26.0.0:Android Studio 中的应用程序?
- python - Pycharm:安装包后未解决的引用
- awk - 使用 awk 拆分列