当前位置: 首页 > 知识库问答 >
问题:

成功登录后,如何将JWT与每个请求一起发送?

刘昌翰
2023-03-14

我有一个节点。js Express web应用程序,用户可以通过将电子邮件地址和密码发布到路由/signin来登录,成功后,他会收到一个JWT令牌并将其存储在本地存储中
我刚开始使用JWT令牌进行授权,有一件事我真的不知道该怎么做。如何确保用户在成功登录后每次请求都发送JWT令牌?

我没有使用任何前端框架,如React或Vue。

共有3个答案

靳彦
2023-03-14

将JWT存储在cookie中而不是本地存储中就达到了这个目的。感谢@JohnPapadopoulos的建议:)

笪俊迈
2023-03-14

使用JqueryAjax

$.ajax({
    type: "POST", //Any CRUD Op
    url: 'url'  //the url to call
    data: datatosend,     
    contentType: contentType,           
    beforeSend: function (xhr) {   //Include the bearer token in header
        xhr.setRequestHeader("Authorization", 'Bearer '+ jwt);
    }
},
success: function(){
    //Your success code
}
)
颜黎昕
2023-03-14

您需要在每个受保护的请求上发送HTTP标头。JWT令牌将由授权标头携带,如下所示:

Authorization: Bearer efh1340ufeileaf3148913-your-token

然后您的后端将检查令牌是否有效且未过期,并授予对数据/路由等的访问权限。

看看https://jwt.io/introduction/,的https://developer . Mozilla . org/en-US/docs/Web/HTTP/authentic ation以及更多关于这个主题的内容

 类似资料:
  • 问题内容: 很高兴知道,因为我的基本注册/身份验证系统正在进行中。 所以基本上我得到了这个: 然后,每当我在标头中发送带有jwt的get请求时,我就保护了/ admin路由和POSTMAN的安全,一切正常。 现在这是棘手的部分,基本上,当我要登录时是否成功,然后将我重定向到管理页面,并且每次尝试访问admin / *路由时,我都想将jwToken发送到服务器,但问题是,我该如何实现?我没有使用re

  • 根据OneLogin留档,通过API调用登录用户的最后步骤是: 生成session_token并通过表单POST将其提交到OneLogin url 然后OneLogin服务器将为您启动会话,并向您的浏览器返回一个仅适用于httpOnly的域特定cookie 识别表单POST返回了302重定向状态,并将用户发送到另一个页面 我的问题是你应该如何处理第三个问题?尤其是对于返回的cookie。 文档指出

  • 我试图弄清楚如何使用IdP发起的请求和Sustainsys SAML2库在标准Web Forms应用程序中登录用户和Owin启用的Web Forms应用程序。 我在Azure上有IdP,我可以发送请求,Azure可以将带有SAMLResponse的POST发送到我的ACSendpoint。 但我不知道如何使用此令牌登录用户。Sustainsys文档中没有示例。 On Azure IdP Basic

  • MvcConfig方法如下所示:

  • 我试图使用python请求登录到我的大学的CAS。我在网上看过一些教程和帖子,但是它们都适用于在同一个页面上有用户名和密码字段的CAS。这是我想登录的网站:https://cas.tamu.edu/cas/login?service=https://howdy.tamu.edu/uPortal/Login 如您所见,只有一个用户名字段,然后单击提交后,您将被带到同一个页面,只有该字段现在是密码。这

  • 我正在尝试将之前的一个示例改写为基于Springs new authorization server的简化版本,该示例使用JWT的自定义JWT过滤器构建,该示例如下:https://github.com/spring-projects/spring-security-samples/tree/main/servlet/spring-boot/java/jwt/login 该示例使用单个用户设置In