Domino LTPA cookie 的生成原理

在与 Domino 作 SSO 的时候,常常会使用 LTPA  的方式,本文描述了它的生成原理,经过它咱们能够本身编码生成身份认证的 cookie,实现 SSO。html

首先,这个 cookie 由如下部分组成:jquery

  • LTPA token 版本(4字节)
  • 建立时间(8字节)
  • 过时时间(8字节)
  • 用户名(可变长度)
  • Domino LTPA 密钥(20字节)

接下来分别说明各部分的具体内容:浏览器

  • LTPA token 版本目前 Domino 只有一种值:0×0001
  • 建立时间和过时时间为以十六进制方式表示的 Unix time,例如 2009-04-09 13:52:42 (GMT +8) = 1239256362 = 49DD8D2A。过时时间为 建立时间 + SSO 配置文档的过时时间(LTPA_TokenExpiration域)
  • 用户名为 Names 中用户文档的 FullName 域值
  • Domino LTPA 密钥经过 Base64编码后,保存在 SSO 配置文档的 LTPA_DominoSecret 域中

在这里固然不能将密钥直接发送给浏览器,因此将上述部分合并起来(如上图),计算 SHA-1 校验和。cookie

 详见:http://blog.sanmaozhao.com/articles/the-domino-ltpa-cookie-authentication.htmldom

参考资料:The Domino cookie authenticationLTPAUtilside

相关文章
相关标签/搜索