packages feed

openid-connect-0.1.0.0: openid-connect.cabal

cabal-version:       2.2

--------------------------------------------------------------------------------
name:         openid-connect
version:      0.1.0.0
synopsis:     An OpenID Connect library that does all the heavy lifting for you
license:      BSD-2-Clause
license-file: LICENSE
author:       Peter Jones <pjones@devalot.com>
maintainer:   Peter Jones <pjones@devalot.com>
copyright:    Copyright (c) 2020 Peter Jones
homepage:     https://github.com/sthenauth/openid-connect
bug-reports:  https://github.com/sthenauth/openid-connect/issues
category:     Network

--------------------------------------------------------------------------------
description:
  This package provides an OpenID Connect 1.0 compliant interface for clients and
  some useful types and functions for providers.
  .
  The primary goals of this package are security and usability.
  .
  To get started, take a look at the "OpenID.Connect.Client.Flow.AuthorizationCode"
  module.

--------------------------------------------------------------------------------
extra-source-files:
  README.md
  CHANGES.md
  example/*.sh

--------------------------------------------------------------------------------
flag example
  description: Build the example application
  manual: True
  default: False

--------------------------------------------------------------------------------
common options
  default-language:
    Haskell2010

  ghc-options:
    -Wall
    -Werror=incomplete-record-updates
    -Werror=incomplete-uni-patterns
    -Werror=missing-home-modules
    -Widentities
    -Wmissing-export-lists
    -Wredundant-constraints

--------------------------------------------------------------------------------
common extensions
  default-extensions:
    ConstraintKinds
    DataKinds
    DefaultSignatures
    DeriveAnyClass
    DeriveFunctor
    DeriveGeneric
    DerivingVia
    ExistentialQuantification
    FlexibleContexts
    FlexibleInstances
    FunctionalDependencies
    GeneralizedNewtypeDeriving
    LambdaCase
    MultiParamTypeClasses
    MultiWayIf
    NamedFieldPuns
    OverloadedStrings
    RankNTypes
    RecordWildCards
    ScopedTypeVariables
    StandaloneDeriving
    TemplateHaskell
    TupleSections
    TypeApplications
    TypeFamilies
    TypeOperators

--------------------------------------------------------------------------------
common dependencies
  build-depends: base                 >= 4.9   && < 5.0
               , aeson                >= 1.3   && < 1.5
               , bytestring           >= 0.10  && < 0.11
               , case-insensitive     >= 1.2   && < 1.3
               , cookie               >= 0.4   && < 0.5
               , cryptonite           >= 0.25  && < 1.0
               , http-client          >= 0.6   && < 0.7
               , http-types           >= 0.12  && < 0.13
               , jose                 >= 0.8   && < 0.9
               , lens                 >= 4.0   && < 5.0
               , memory               >= 0.14  && < 1.0
               , mtl                  >= 2.2   && < 2.3
               , network-uri          >= 2.6   && < 2.7
               , text                 >= 1.2   && < 1.3
               , time                 >= 1.8   && < 2.0
               , unordered-containers >= 0.2   && < 0.3

--------------------------------------------------------------------------------
library
  import: options, extensions, dependencies
  hs-source-dirs: src
  exposed-modules:
    OpenID.Connect.Authentication
    OpenID.Connect.Client.DynamicRegistration
    OpenID.Connect.Client.Flow.AuthorizationCode
    OpenID.Connect.Client.Provider
    OpenID.Connect.Provider.Key
    OpenID.Connect.Scope
    OpenID.Connect.TokenResponse
  other-modules:
    OpenID.Connect.Client.Authentication
    OpenID.Connect.Client.HTTP
    OpenID.Connect.Client.TokenResponse
    OpenID.Connect.Discovery
    OpenID.Connect.JSON
    OpenID.Connect.Registration

--------------------------------------------------------------------------------
executable example
  import: options, extensions, dependencies
  hs-source-dirs: example
  main-is: Main.hs
  other-modules: Auth Discover Options Util

  if !flag(example)
    buildable: False

  build-depends: blaze-html           >= 0.9
               , http-client-tls      >= 0.3
               , openid-connect       >= 0.1
               , optparse-applicative >= 0.14
               , servant              >= 0.16
               , servant-blaze        >= 0.9
               , servant-server       >= 0.16
               , warp                 >= 3.2
               , warp-tls             >= 3.2

--------------------------------------------------------------------------------
test-suite test
  import: options, extensions, dependencies
  type: exitcode-stdio-1.0
  hs-source-dirs: test
  main-is: Main.hs
  build-depends: openid-connect
               , tasty          >= 1.1  && < 1.3
               , tasty-hunit    >= 0.10 && < 0.11

  other-modules:
    Client
    Client.AuthorizationCodeTest
    Client.ProviderTest
    DiscoveryTest
    HttpHelper