shomei-jwt-0.2.0.0: shomei-jwt.cabal
cabal-version: 3.0
name: shomei-jwt
version: 0.2.0.0
synopsis: JWT access-token signing/verification and JWKS publishing
description:
Interprets Shōmei's signing-key effects with jose. Signs and verifies ES256
(or, configurably, RS256) access tokens and OpenID Connect ID tokens,
publishes the JWKS document that relying services fetch to verify those
tokens offline, and implements key rotation with an overlap window so a
retired key keeps verifying outstanding tokens until they expire. Depends
only on shomei-core, so it can be used without Shōmei's HTTP or PostgreSQL
layers.
homepage: https://github.com/shinzui/shomei
bug-reports: https://github.com/shinzui/shomei/issues
license: MIT
license-file: LICENSE
author: Nadeem Bitar
maintainer: nadeem@gmail.com
copyright: 2026 Nadeem Bitar
category: Web, Security
tested-with: GHC ==9.12.4
extra-doc-files: CHANGELOG.md
source-repository head
type: git
location: https://github.com/shinzui/shomei.git
common warnings
ghc-options:
-Wall -Wcompat -Widentities -Wincomplete-record-updates
-Wincomplete-uni-patterns -Wpartial-fields -Wredundant-constraints
common shared
default-language: GHC2024
default-extensions:
BlockArguments
DeriveAnyClass
DuplicateRecordFields
MultilineStrings
OverloadedLabels
OverloadedRecordDot
OverloadedStrings
QualifiedDo
TemplateHaskell
library
import: warnings, shared
hs-source-dirs: src
exposed-modules:
Shomei.SigningKey.Jwks.Jwt
Shomei.SigningKey.Key.Jwt
Shomei.SigningKey.Protection.Jwt
Shomei.SigningKey.Rotation.Jwt
Shomei.SigningKey.Sign.Jwt
Shomei.SigningKey.Verify.Jwt
build-depends:
, aeson >=2.1 && <2.3
, base >=4.18 && <5
, base64-bytestring >=1.2 && <1.3
, bytestring >=0.11 && <0.13
, containers >=0.6 && <0.9
, crypton >=1.1.0 && <1.2
, effectful >=2.5 && <2.8
, effectful-core >=2.5 && <2.8
, jose >=0.13 && <0.14
, lens >=5.2 && <5.4
, monad-time >=0.4 && <0.5
, mtl >=2.3 && <2.4
, ram >=0.22 && <0.23
, shomei-core ^>=0.2.0.0
, text >=2.0 && <2.2
, time >=1.12 && <1.15
test-suite shomei-jwt-test
import: warnings, shared
type: exitcode-stdio-1.0
hs-source-dirs: test
main-is: Main.hs
other-modules:
Shomei.SigningKey.Interpreter.JwtSpec
Shomei.SigningKey.Jwks.JwtSpec
Shomei.SigningKey.Key.JwtSpec
Shomei.SigningKey.Protection.JwtSpec
Shomei.SigningKey.Rotation.JwtSpec
Shomei.SigningKey.Sign.IdTokenSpec
Shomei.SigningKey.Sign.JwtSpec
Shomei.SigningKey.Sign.RsaCustomClaimSpec
Shomei.SigningKey.TestSupport
Shomei.SigningKey.Verify.JwtSpec
build-depends:
, aeson >=2.1 && <2.3
, base >=4.18 && <5
, bytestring >=0.11 && <0.13
, containers >=0.6 && <0.9
, effectful >=2.5 && <2.8
, jose >=0.13 && <0.14
, lens >=5.2 && <5.4
, ram >=0.22 && <0.23
, shomei-core ^>=0.2.0.0
, shomei-jwt ^>=0.2.0.0
, tasty >=1.4 && <1.6
, tasty-hunit >=0.10 && <0.11
, text >=2.0 && <2.2
, time >=1.12 && <1.15