Http 在没有cookie的情况下验证页面请求

Http 在没有cookie的情况下验证页面请求,http,authentication,cookies,Http,Authentication,Cookies,这个问题是为了验证我是否理解正确。我目前正在设计一个基于web的应用程序,它将涉及多个页面(想想,同一个域下的不同SPA),我希望有一个且只有一个身份验证点 那么,我的问题是:在SPA上,可以将身份验证令牌存储在本地/会话存储上,据我所知,对页面请求进行身份验证的唯一方法是使用Cookie,而不管我使用的身份验证方法是什么(基本、OAuth、JWT等) 我说的对吗?这是唯一可用的方法吗?这是一个广泛的问题,但我想说的是,通常答案可能是“不”。你可以做很多事情 当你提到“一个认证点”时,我假设你指

这个问题是为了验证我是否理解正确。我目前正在设计一个基于web的应用程序,它将涉及多个页面(想想,同一个域下的不同SPA),我希望有一个且只有一个身份验证点

那么,我的问题是:在SPA上,可以将身份验证令牌存储在本地/会话存储上,据我所知,对页面请求进行身份验证的唯一方法是使用Cookie,而不管我使用的身份验证方法是什么(基本、OAuth、JWT等)


我说的对吗?这是唯一可用的方法吗?

这是一个广泛的问题,但我想说的是,通常答案可能是“不”。你可以做很多事情

当你提到“一个认证点”时,我假设你指的是“单点登录”。有很多系统支持单点登录

从广义上讲,这是可能的工作方式:

  • 用户转到您的一个应用程序
  • 用户自动被重定向到身份验证页面(在中心域上)
  • 用户登录,登录信息存储在(例如)LocalStorage中。这允许存储此信息
  • 单点登录系统将用户重定向回原始应用程序,并在url中嵌入单点使用令牌
  • 原始应用程序使用令牌获取多个使用令牌

  • 这是OAuth2中非常常见的流程。

    这是一个广泛的问题,但我想说的是,通常答案可能是“不”。您可以做很多事情

    当你提到“一个认证点”时,我假设你指的是“单点登录”。有很多系统支持单点登录

    从广义上讲,这是可能的工作方式:

  • 用户转到您的一个应用程序
  • 用户自动被重定向到身份验证页面(在中心域上)
  • 用户登录,登录信息存储在(例如)LocalStorage中。这允许存储此信息
  • 单点登录系统将用户重定向回原始应用程序,并在url中嵌入单点使用令牌
  • 原始应用程序使用令牌获取多个使用令牌

  • 这是OAuth2中非常常见的流程。

    我知道几个选项:

    • cookies(不需要解释)
    • 基本HTTP身份验证

      将基本身份验证与HTTPS结合使用是安全的。 Authentification头在请求之间重复,因此凭据只输入一次。 唯一的问题是浏览器弹出窗口请求凭据

    • 通过javascript或服务器端HTML处理向每个链接添加令牌/签名

      例如,使用jQuery,请注意代码是简化的

      $(document.body).click('a', e => {
          var $a = $(e.target).closest('a');
          if($a.length) {
              e.preventDefault();
              document.location = $a.attr('href') + '&token=' + secretToken;
          }
      })
      

    请查找

    我知道几个选项:

    • cookies(不需要解释)
    • 基本HTTP身份验证

      将基本身份验证与HTTPS结合使用是安全的。 Authentification头在请求之间重复,因此凭据只输入一次。 唯一的问题是浏览器弹出窗口请求凭据

    • 通过javascript或服务器端HTML处理向每个链接添加令牌/签名

      例如,使用jQuery,请注意代码是简化的

      $(document.body).click('a', e => {
          var $a = $(e.target).closest('a');
          if($a.length) {
              e.preventDefault();
              document.location = $a.attr('href') + '&token=' + secretToken;
          }
      })
      

    请查找

    以查看我是否理解正确,GET(第页)中有一次性使用令牌请求,我假设它在地址栏上是可见的,它被脚本捕获并用于异步获取更敏感的凭据?@PabloBarríaUrenda是的,这是一种常见的情况。我强烈建议阅读OAuth2规范,因为您的大多数问题都已经由花了很长时间思考这个问题的人解决了。Pl在美国,你可以从为客户机和服务器借用大量现有OAuth2代码中获益。嘿,伙计,非常感谢。由于我对奖金的工作原理的误解,我没有给你50分,所以我会在几个小时内给你100分。为了看我是否理解正确,get(第页)中有一个一次性使用令牌请求,我假设它在地址栏上是可见的,它被脚本捕获并用于异步获取更敏感的凭据?@PabloBarríaUrenda是的,这是一种常见的情况。我强烈建议阅读OAuth2规范,因为您的大多数问题都已经由花了很长时间思考这个问题的人解决了。Pl在美国,你可以从为客户机和服务器借用大量现有OAuth2代码中获益。嘿,伙计,非常感谢。由于我对奖金的工作原理的误解,我没能给你50分,所以我会在几个小时内给你100分。