【问题标题】:How (if at all) should I encapsulate an access token on client side?我应该如何(如果有的话)在客户端封装访问令牌?
【发布时间】:2020-02-05 09:52:30
【问题描述】:

我正在开始一个新项目,该项目必须为许多不同的 API 管理许多访问令牌。所以我想知道将访问令牌提供给实现 API 调用的不同类是否是一种好习惯,或者是否应该更好地封装令牌。

目前,我看到两个选项:

  • 每个 API 类都构建自己的请求(主要是 HTTPS 请求),从身份验证接口获取访问令牌,并以该 API 所需的方式将该令牌添加到请求中
  • 身份验证接口接受来自 API 类的请求,并在实际分派请求之前将令牌添加到其中。

使用后一种选项,API 类永远不会看到令牌,但很难预见如何将令牌添加到请求中的所有选项(标头、GET 参数或完全不同的方式)。

在这种情况下,最佳做法应该是什么?

【问题讨论】:

    标签: api authentication access-token encapsulation


    【解决方案1】:

    通常,访问令牌包含诸如“此用户是否具有特权”之类的信息以及超出身份验证的其他与授权相关的声明。

    这意味着仅身份验证服务无法处理这些声明,API 类需要能够看到它们。

    因此,您的 API 类应该有机会向访问令牌添加声明。他们是否是构建令牌本身的人并不重要。

    【讨论】:

      猜你喜欢
      • 2013-05-07
      • 2016-03-22
      • 2013-11-02
      • 2021-09-12
      • 2014-07-18
      • 2022-07-14
      • 2015-11-03
      • 2015-02-02
      • 1970-01-01
      相关资源
      最近更新 更多