/cleauth

Primary LanguageGoMIT LicenseMIT

cleauth

WIP: 失効可能でClaimsを含められる安全なトークンを生成、検証するためのライブラリです。

設計

  • 暗号化されたトークンは環境シークレットにより復号化され、Plain ClaimsとSaltに分割されます。
  • 検証する際、Plain ClaimsとSaltをSHA384でハッシュ化したものをデータベースと照合してトークンの有効性と整合性を検証します。
  • 万一環境シークレットが漏洩しても、Claimの内容を改ざんすることはできません。
  • 理論上はデータベース内のハッシュと環境シークレットの両方が漏洩しても、データベースを書き換えない限り有効なトークンの生成やClaimsの改ざんは不可能ですがどちらも厳重に保管してください。
  • 過去のトークンを失効させたい場合は、データベースのハッシュを変更することで失効させることができます。