packages feed

oauth2-server-0.3.0.0: oauth2-server.cabal

cabal-version:      2.2
name:               oauth2-server
version:            0.3.0.0
license:            MPL-2.0
license-file:       LICENSE
author:             DPella AB
extra-doc-files:    CHANGELOG.md, README.md
maintainer:         matti@dpella.io,
                    lobo@dpella.io
synopsis:           OAuth 2.1 authorization server implementation
description:
  Provides a cohesive Servant implementation of the OAuth 2.1 surface, covering
  discovery metadata, authorization and callback flows, token issuance, and dynamic
  client registration. The package models authorization codes, refresh tokens, and
  registered clients with PKCE enforcement, configurable persistence backends, and
  secure token generation helpers. Combined servers share state through `MVar`s,
  integrate with `servant-auth-server` to mint JWT access tokens, and expose ergonomic
  helpers for embedding standards-compliant OAuth flows into Haskell applications.
homepage:          https://github.com/DPella/oauth2-server
bug-reports:       https://github.com/DPella/oauth2-server/issues
category:          Web, Security

source-repository head
  type:     git
  location: https://github.com/DPella/oauth2-server.git

library
  default-language:
    Haskell2010
  default-extensions:
      DataKinds
    , FlexibleInstances
    , GADTs
    , GeneralizedNewtypeDeriving
    , ImportQualifiedPost
    , LambdaCase
    , OverloadedStrings
    , PolyKinds
    , RankNTypes
    , TypeApplications
    , TypeFamilies
  hs-source-dirs:
    src
  exposed-modules:
    Web.OAuth2
    Web.OAuth2.Types
    Web.OAuth2.Internal
  other-modules:
    Web.OAuth2.TokenAPI
    Web.OAuth2.AuthorizeAPI
    Web.OAuth2.AuthorizeCallbackAPI
    Web.OAuth2.RegisterAPI
    Web.OAuth2.MetadataAPI
  build-depends:
      base >=4.18 && <4.22
    , servant >=0.20 && <0.21
    , servant-server >=0.20 && <0.21
    , servant-auth-server >=0.4.9 && <0.5
    , servant-blaze >=0.9 && <0.10
    , text >=2.0 && <2.2
    , bytestring >=0.11 && <0.13
    , aeson >=2.1 && <2.3
    , containers >=0.6 && <0.8
    , time >=1.12 && <1.15
    , random >=1.2 && <1.4
    , blaze-html >=0.9 && <0.10
    , network-uri >=2.6 && <2.7
    , http-api-data >=0.5 && <0.7
    , http-types >=0.12 && <0.13
    , cryptonite >=0.29 && <0.31
    , memory >=0.17 && <0.19
    , base64-bytestring >=1.2 && <1.3
    , transformers >=0.5 && <0.7

test-suite test-oauth2-server
  type: exitcode-stdio-1.0
  default-language:
    Haskell2010
  default-extensions:
      DataKinds
    , FlexibleInstances
    , GADTs
    , GeneralizedNewtypeDeriving
    , ImportQualifiedPost
    , LambdaCase
    , OverloadedStrings
    , PolyKinds
    , RankNTypes
    , TypeApplications
  hs-source-dirs:
    test
  main-is:
    Main.hs
  other-modules:
    Web.OAuth2.AuthorizeCallbackSpec
    Web.OAuth2.AuthorizeSpec
    Web.OAuth2.FlowSpec
    Web.OAuth2.MetadataSpec
    Web.OAuth2.RegisterSpec
    Web.OAuth2.TestUtils
    Web.OAuth2.TokenSpec
  build-depends:
      base >=4.18 && <4.22
    , oauth2-server
    , aeson
    , text
    , bytestring
    , containers
    , time
    , async
    , tasty
    , tasty-hunit
    , tasty-quickcheck
    , QuickCheck
    , servant
    , servant-server
    , servant-auth-server
    , servant-blaze
    , network-uri
    , http-api-data
    , wai
    , wai-extra
    , http-types
    , http-client
    , warp
    , cryptonite
    , memory
    , scientific
    , base64-bytestring
    , blaze-html
    , blaze-markup
    , transformers