cabal-version: 2.2
name: openid-connect
version: 0.2.0
license: BSD-2-Clause
license-file: LICENSE
author: Peter Jones <pjones@devalot.com>
maintainer: Peter Jones <pjones@devalot.com>
copyright: Copyright (c) 2020-2023 Peter Jones
homepage: https://github.com/pjones/openid-connect
bug-reports: https://github.com/pjones/openid-connect/issues
category: Network
tested-with: GHC ==8.10.7 || ==9.0.2 || ==9.2.5 || ==9.4.4
synopsis:
An OpenID Connect library that does all the heavy lifting for you
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:
CHANGES.md
example/*.sh
--------------------------------------------------------------------------------
source-repository head
type: git
location: https://github.com/pjones/openid-connect.git
--------------------------------------------------------------------------------
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:
, aeson >=1.3 && <2.2
, base >=4.9 && <5.0
, bytestring >=0.10 && <0.12
, case-insensitive ^>=1.2
, containers ^>=0.6
, cookie ^>=0.4
, cryptonite >=0.25 && <1.0
, http-client >=0.6 && <0.8
, http-types ^>=0.12
, jose >=0.10 && <0.11
, lens >=4.0 && <5.3
, memory >=0.14 && <1.0
, mtl >=2.2 && <2.4
, network-uri >=2.6 && <2.8
, text >=1.2 && <2.1
, time >=1.8 && <2.0
, unordered-containers ^>=0.2
--------------------------------------------------------------------------------
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
, optparse-applicative >=0.14 && <0.18
, servant >=0.16 && <0.20
, servant-blaze ^>=0.9
, servant-server >=0.16 && <0.20
, warp >=3.2 && <3.4
, warp-tls >=3.2 && <3.4
--------------------------------------------------------------------------------
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.5
, tasty-hunit ^>=0.10
other-modules:
Client
Client.AuthorizationCodeTest
Client.ProviderTest
DiscoveryTest
HttpHelper