• 情况1: 前端html等文件是经过OSROOM系统渲染, 响应回来的页面. 因为html经过了OSROOM服务器Jinjia2模板引擎渲染, 带上了随机生成的csrf_token 所以在html能获取到csrf_token, 具体使用如下教程
  • 情况2.客户端为APP或小程序, 或者说html等静态文件不经过OSROOM, 独立隔离. 这时候就要使用JWT方式验证, 具体如下教程

获取与使用CsrfToken

每个经过OSROOM后端的html页面都会带上一个CsrfToken, 具体使用方式如下

  • 使用Jinjia2语法获取
  • 每一个Api的请求都需要带上CsrfToken, 作为验证令牌. 所以可以在html间写入如下代码
  • 浏览器F12可以看到我们写入的代码中的CSRFToken, 如图

使用说明

  • SecretTokenAccessToken用于在无CsrfToken时, 调用API请求的一个客户端令牌, 以验证客户端是否为伪造的.
  • SecretToken是长期可用验证令牌(除非你停用或者删除了它), 需要保存在客户端使用, 主要用于获取AccessToken.
  • 为了减少SecretToken的暴露风险, 发送Api请求时, 尽量使用OSR-ClientIdAccessToken组合作为客户端验证令牌.
  • 当没有获取过AccessToken或者AccessToken失效时, 请通过/api/token/access-token获取新的AccessToken (具体请查看/api/token/access-token文档).
  • 获取AccessToken时, 只能使用SecretToken作为客户端令牌验证.(建议使用https)

获取AccessToken

SecretToken

然后GET请求/api/token/access-token获取一个新的AccessToken

  • 请求时headers参数OSR-RestToken值为SecretToken为客户端令牌, 如图.
  • 结果返回AccessToken和CliendId
  • 如果请求/api/token/access-token的时候, 有带上OSR-CliendId, 则系统不会生成新的CliendId 如下图, 结果返回的CliendId和请求时带上的一样Get Access

请求API获取&修改数据

  • headers参数OSR-RestToken值为AccessToken和参数OSR-CliendId值为CliendId

登录获取BearerToken

请求Api(/api/sign-in)获取BearerToken

  • 和上面差不多, 也就多了一个headers参数OSR-BearerToken, 值为登录成功时获取的auth_token需要验证登录的请求验证

注销登录