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

相關文章
相關標籤/搜索