当前位置: 首页 > 面试题库 >

基于令牌的身份验证中的会话

咸浩初
2023-03-14
问题内容

我正在PHP Lumen中构建一个应用程序,该应用程序在登录时会返回令牌。我不知道如何继续进行。

我应该如何使用这些令牌维护会话?

具体来说,如果我使用reactjs或原始HTML / CSS /
jQuery,如何将令牌存储在客户端,并在我为Web应用程序的安全部分提出的每个请求中发送令牌?


问题答案:

我通常要做的是将令牌保留在本地存储中,这样即使用户离开站点,我也可以保留令牌。

localStorage.setItem('app-token', theTokenFromServer);

每次用户加载页面时,我要做的第一件事就是寻找令牌的存在。

token = localStorage.getItem('app-token');

如果使用react,我将令牌保持在全局状态(例如使用redux):

function loadAppToken(token) {
  return {
    type: 'LOAD_TOKEN',
    payload: { token },
  };
}

使用香草javascript,我会将其保留在连接实用程序中。可能类似于以下内容:

const token = localStorage.getItem('app-token');

export function request(config) {
   const { url, ...others } = config;

   return fetch(url, {
     ...others,
     credentials: 'include',
     headers: {
       'Authorization': `Bearer ${token}`
     },
   });
}

与以前的代码类似,我在react应用程序中仍然具有fetch实用程序,但是我会通过在redux中间件中为每个单个请求获取令牌来在选项中发送令牌。



 类似资料:
  • 我正在PHP Lumen中构建一个应用程序,它在登录时返回令牌。我不知道如何继续。 我应该如何使用这些令牌维护会话? 具体来说,如果我使用reactjs或vanilla HTML/CSS/jQuery,我如何在客户端存储令牌,并在我为web应用程序的安全部分发出的每个请求中发送它们?

  • 问题内容: 我有一个REST API,我正在使用Spring Security基本授权进行身份验证,客户端会为每个请求发送用户名和密码。现在,我想实现基于令牌的身份验证,当用户最初通过身份验证时,我将在响应标头中发送令牌。对于进一步的请求,客户端可以在令牌中包含该令牌,该令牌将用于对资源进行用户身份验证。我有两个身份验证提供程序tokenAuthenticationProvider和daoAuth

  • 在daoAuthenticationProvider中,我设置了自定义userDetailsService并通过从数据库中获取用户登录详细信息对其进行身份验证(只要使用授权传递用户名和密码就可以正常工作:basic bgllqxbpvxnlcjogn21wxidmqjrdturtr04pag==作为头) 但是当我使用X-AUTH-TOKEN(即constants.auth_header_name)

  • 我正在使用ASP.NET核心应用程序。我正在尝试实现基于令牌的身份验证,但无法确定如何使用新的安全系统。我查看了一些示例,但它们对我没有太大帮助,它们使用的是cookie身份验证或外部身份验证(GitHub、Microsoft、Twitter)。 我的场景是:angularjs应用程序应该请求url,传递用户名和密码。WebApi应该授权user并返回,angularjs应用程序将在以下请求中使用

  • 我读了一些关于“JWT vs Cookie”的帖子,但它们只会让我更加困惑…… > 我想澄清一下,当人们谈论“基于令牌的身份验证与cookie”时,这里的cookie仅指会话cookie?我的理解是,cookie就像一个介质,它可以用来实现基于令牌的身份验证(在客户端存储可以识别登录用户的东西)或者基于会话的身份验证(在客户端存储与服务器端会话信息匹配的常量) 为什么我们需要JSON web令牌?

  • null 我的自定义rest筛选器: 上面的内容实际上会导致应用程序启动时出现一个错误:有人能告诉我如何最好地执行此操作吗?pre_auth筛选器是执行此操作的最好方法吗? 编辑 使用Spring-security实现解决方案 希望它能帮助其他人…