yesod-auth-oauth2/package.yaml
patrick brisbin aabb5135be
Change interface to support newer hoauth2
This adds support for `ghc-9.12` / `hoauth2-2.15` and drops support for
`ghc < 9.4` / `hoauth2 < 2.8`.

Since this would be a major version bump no matter what, I've changed
the interface we present to align with `hoauth2-2.15`. This means using
the newer `fetch` functions, and `TokenResponse{,Error}` type names.

I've maintained our own `OAuth2` type so that the redirect-uri can
remain a `Maybe` field. The way plugins are constructed, we need to
build an `OAuth2` value in a pure context without one, which is then
supplied later, when we have `MonadHandler` and so can render URLs.
2026-01-06 09:23:43 -05:00

85 lines
1.6 KiB
YAML

---
name: yesod-auth-oauth2
version: 0.7.4.0
synopsis: OAuth 2.0 authentication plugins
description: Library to authenticate with OAuth 2.0 for Yesod web applications.
category: Web
author:
- Tom Streller
- Patrick Brisbin
- Freckle Engineering
license: MIT
maintainer: engineering@freckle.com
github: freckle/yesod-auth-oauth2
homepage: http://github.com/freckle/yesod-auth-oauth2
extra-doc-files:
- README.md
- CHANGELOG.md
ghc-options: -Wall
dependencies:
- base >=4.9.0.0 && <5
library:
source-dirs: src
dependencies:
- aeson >=0.6
- bytestring >=0.9.1.4
- crypton
- errors
- hoauth2 >=2.8.0 # TokenRequestError
- http-client >=0.4.0
- http-conduit >=2.0
- http-types >=0.8
- memory
- microlens
- mtl
- safe-exceptions
- text >=0.7
- transformers
- uri-bytestring
- yesod-auth >=1.6.0
- yesod-core >=1.6.0
- unliftio
executables:
yesod-auth-oauth2-example:
main: Main.hs
source-dirs: example
ghc-options:
- -threaded
- -rtsopts
- -with-rtsopts=-N
dependencies:
- yesod-auth-oauth2
- aeson >=0.6
- aeson-pretty
- bytestring >=0.9.1.4
- containers >=0.6.0.1
- http-conduit >=2.0
- load-env
- text >=0.7
- warp
- yesod
- yesod-auth >=1.6.0
when:
- condition: ! "!(flag(example))"
buildable: false
tests:
test:
main: Spec.hs
source-dirs: test
dependencies:
- yesod-auth-oauth2
- hspec
- uri-bytestring
flags:
example:
description: Build the example application
manual: false
default: false