如何在前端的 Javascript Ajax API 调用中隐藏我的 JWT 令牌?

Posted

技术标签:

【中文标题】如何在前端的 Javascript Ajax API 调用中隐藏我的 JWT 令牌?【英文标题】:How to hide my JWT token On Javascript Ajax API Call from Frontend? 【发布时间】:2018-04-08 18:35:55 【问题描述】:

我的问题是当用户登录时我被实施了 JWT 令牌。还通过POSTMAN进行了一些测试。当用户使用用户名和密码进行验证时获取令牌。现在我的 API 已经完成,每当前端人员需要 API 调用时,他必须传递 JWT 令牌。现在此令牌在 AJAX API 调用中可见。有什么方法可以隐藏所有令牌,以免攻击者获得此令牌?

【问题讨论】:

您好,欢迎来到 ***。请花一些时间阅读帮助页面,尤其是名为"What topics can I ask about here?" 和"What types of questions should I avoid asking?" 的部分。更重要的是,请阅读the Stack Overflow question checklist。您可能还想了解Minimal, Complete, and Verifiable Examples。 虽然这个问题不适合 ***,但简短的回答:是的,令牌在 Ajax 调用中是可见的。这是完全正常的。你无法隐藏它们。 【参考方案1】:

jwt 默认不安全。

首先,如果你想在你的网站上使用 jwt,它必须在 https 上工作。

其次,如果您将其存储在 cookie 上,请使用 cookie http only 选项来防止 javascript cookie 劫持

您也可以在 OAuth 中使用 jwt 来获得更多功能

【讨论】:

以上是关于如何在前端的 Javascript Ajax API 调用中隐藏我的 JWT 令牌?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 javascript/jquery/AJAX 调用 Django REST API?

JavaScript对Ajax生成节点的JS模板化

好程序员web前端教程分享前端 javascript 练习题Ajax封装

web前端基础知识-Ajax

原生 JavaScript 实现 AJAXJSONP

前端之ajax