【问题标题】:secured API with a JWT使用 JWT 的安全 API
【发布时间】:2021-02-07 01:44:06
【问题描述】:

我目前正在学习 JWT 的工作原理,并且正在使用它制作 API。 我制作了一个中间件函数,因此每次调用安全路由时,都会调用中间件并分析 accessToken。 我在字段授权的 HTTP 请求标头中传递了令牌,但这是我的问题:

  • 是否有人可以查看 HTTP 请求标头中的访问令牌?因为如果是这样的话,这真的不安全吗?任何人都可以查看他朋友的 accessToken 并使用 api 请求?

  • 我已经做了一个刷新函数来在它过期时获取一个新的访问令牌,但是我的 /refreshroute 没有中间件,因为当我们调用刷新路由时 accessToken 已经过期。所以 /refreshroute 也不安全,它返回一个新的 accessToken ....

请帮助我,我真的很想了解它是如何工作的......

【问题讨论】:

    标签: node.js api jwt token refresh


    【解决方案1】:

    这取决于您发送请求时使用的连接类型:

    • 如果请求是使用 SSL 加密(即 HTTPS)发送的,那么您可能不必担心任何人查看标头,因为强加密将不允许除收件人之外的任何其他人查看请求(服务器)。
    • 但是,如果没有 SSL 加密,那么发送到服务器的有效负载就会暴露出来并被窥探,并且容易受到 MITM 攻击。

    【讨论】:

    • 嗨,阿潘!感谢您的回答:) 请求的正文部分也在 https 中得到保护?因为当我发布请求刷新我的访问令牌时,我在请求正文中传递了刷新令牌,它是否也在 HTTPS 中得到保护?
    • 要获得 SSL 证书,我必须付费吗?因为自签名的 SSL 证书并不适用于所有情况(例如它不适用于邮递员)
    • 有很多方法可以获得免费的,比如letsencrypt的。此外,一些云服务免费提供,在某些情况下几乎不需要设置
    • 是的,请求正文将被加密。
    猜你喜欢
    • 2015-05-06
    • 2021-09-16
    • 2017-07-04
    • 2020-07-19
    • 2017-10-28
    • 2017-05-19
    • 1970-01-01
    • 2020-10-17
    • 2016-12-10
    相关资源
    最近更新 更多