Commit Graph

72 Commits

Author SHA1 Message Date
patrick brisbin
3e5dbdec77 Version bump 2026-01-06 16:47:57 -05:00
patrick brisbin
a8de561848 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 16:47:57 -05:00
patrick brisbin
e79d174821 Version bump 2024-11-05 14:29:49 -05:00
patrick brisbin
50cc0ea49b Version bump 2024-07-08 12:29:34 -04:00
patrick brisbin
433e8b324b Replace cryptonite with crypton
https://github.com/commercialhaskell/stackage/issues/7474#issuecomment-2208142024
2024-07-08 12:08:24 -04:00
patrick brisbin
0b4f249bf4
Version bump 2024-03-01 09:20:06 -05:00
patrick brisbin
11948a65c4
Version bump 2023-11-01 07:44:13 -04:00
patrick brisbin
d238c1f3b5 Version bump 2023-10-30 16:38:12 -04:00
patrick brisbin
79a955edd0
Version bump 2023-08-01 10:39:53 -04:00
patrick brisbin
1e68d6b02c Version bump 2023-04-06 11:19:32 -04:00
Michael Gilliland
3c15ecd871
Fix hoauth2 compat for 2.7.0 (#165)
Use CPP to get 2.7.0 to compile

Resolves #164
2023-02-01 14:20:08 -05:00
patrick brisbin
6e2ad16663 Version bump 2022-08-18 14:05:48 +00:00
patrick brisbin
01ae7319f5 Version bump 2022-03-01 09:21:56 -05:00
patrick brisbin
f5263b01dd Support hoauth2-2.2 and 2.3
This required a lot of CPP refactoring and extension. I plan to shift
our lower bound and target only the newer hoauth2 soon, but I'd like to
get out a compatible version first, which this aims to do.

The comments in Compat.hs try to explain the gymnastics we have to
endure to get there. I'm sorry, it's not ideal.
2022-03-01 09:21:56 -05:00
patrick brisbin
91840cb329
Further relax containers lower bound
This supports the lowest LTS we test with. This was working before
because the bound was only set on publish and not in source, with it in
source it needs to work for all our tested LTSs.
2022-02-03 09:15:40 -05:00
patrick brisbin
4e6665b072
Relax containers lower bound
It seems future resolvers will actually use a lower version of this
package (0.6.4.x) than current LTS (0.6.5.x) for some reason, so using
--pvp-bounds=lower on release is too restrictive for (e.g.) nightly.

Our latest version (0.7.0.0) has had this bound relaxed by revision.
This commit just aligns main and need not be released.
2022-02-03 09:02:31 -05:00
patrick brisbin
206ab951f2
Version bump 2022-01-31 16:06:34 -05:00
patrick brisbin
342dac80e4
Actually release with no upper bounds 2021-05-13 14:55:32 -04:00
patrick brisbin
c0dbe8366e
Version bump 2021-05-13 14:51:43 -04:00
patrick brisbin
10215d4c14
Remove dependencies upper bounds, version bump 2021-05-13 14:44:25 -04:00
patrick brisbin
192c7c9b4a Version bump
Relax dependencies bounds

- https://github.com/commercialhaskell/stackage/issues/6006
- https://github.com/commercialhaskell/stackage/issues/6007
2021-05-10 15:53:16 -04:00
Michael Gilliland
e4c2ea72d2
Expose onDispatchError and generic error message (#150)
* Expose `onDispatchError` and generic `OtherDispatchError`

* Update changelog and version

* Restyled by prettier-markdown (#151)

Co-authored-by: Restyled.io <commits@restyled.io>

Co-authored-by: restyled-io[bot] <32688539+restyled-io[bot]@users.noreply.github.com>
Co-authored-by: Restyled.io <commits@restyled.io>
2021-04-09 11:46:24 -04:00
patrick brisbin
ab17f214eb Consolidate all errors, use onErrorHtml
Prior to this commit, some errors would be thrown (missing parameter,
invalid state, incorrect approot) while others would be handled via the
set-message-redirect approach (handshake failure, fetch-token failure,
etc).

This commit consolidates all of these cases into a single DispatchError
type, and then uses MonadError (concretely ExceptT) to capture them all
and handle them in one place ourselves.

It then updates that handling to:

- Use onErrorHtml

  onErrorHtml will, by default, set-message-redirect. That make this
  behavior neutral for users running defaults. For users that have
  customized this, it will be an improvement that all our error cases
  now respect it.

- Provided a JSON representation of errors
- Attach a random correlation identifier

The last two were just nice-to-haves that were cheap to add once the
code was in this state.

Note that the use of MonadError requires a potentially "bad" orphan
MonadUnliftIO instance for ExceptT, but I'd like to see that instance
become a reality and think it needs some real-world experimentation to
get there, so here I am.
2021-03-05 11:41:29 -05:00
Restyled.io
16aad54338 Restyled by prettier-yaml 2021-03-01 10:44:56 -05:00
patrick brisbin
62550b4ff3 Version bump 2021-03-01 10:44:56 -05:00
patrick brisbin
6f05c042b2 Relax dependency bounds 2021-03-01 10:44:56 -05:00
patrick brisbin
ffd7f85587 Update licensing and package metadata
And commit .cabal file.
2021-03-01 10:44:56 -05:00
patrick brisbin
cfcd8c5210
Version bump 2021-02-03 11:58:31 -05:00
patrick brisbin
2f71fc497e
Version bump 2021-01-15 09:11:58 -05:00
patrick brisbin
10867e4819
Re-relax lower bound on cryptonite 2021-01-15 09:11:20 -05:00
patrick brisbin
c245341c9f
Version bump 2021-01-15 08:35:27 -05:00
patrick brisbin
7c8d3eac49
Version bump 2020-12-21 08:56:05 -05:00
patrick brisbin
2bf1bf7f21 Bump LTS, bump dependencies upper-bounds 2020-12-21 08:40:43 -05:00
patrick brisbin
3cf4a3e87b
Version bump 2020-12-10 15:22:02 -05:00
patrick brisbin
5d78b889b0
Version bump 2020-09-04 16:57:47 -04:00
patrick brisbin
28d2113674 Update to latest GHC, Stackage resolver, hoauth2
- Update to ghc-8.8 / lts-16.0
- Update to hoauth2 >= 1.11.0

  - authGetBS has pre-encoded errors a v1.9
  - oauthClientSecret is Maybe at v1.11

- Tweak non-default Resolvers as required
2020-08-24 10:49:14 -04:00
patrick brisbin
236d0f4b10 Tighten upper bound on hauth2
We need to avoid 1.9, where authGetBS changes type. This was the case
until 0036d5f, where it was changed unintentionally.

Fixes #135.
2020-08-23 13:47:10 -04:00
patrick brisbin
27cad251ab
Version bump 2020-08-20 12:12:30 -04:00
patrick brisbin
cd3875b797 Strengthen random state token generation
Previously:

- System.Random, which seeds from system time (possible attack)
- 30 characters, a-z (low entropy)

Now:

- Crypto.Random, accepted as "cryptographically secure"
- 64 random bytes, Base64-encoded

cryptonite was already a transitive dependency, so there is really no
downside to this.

Fixes #132.
2020-08-20 11:38:20 -04:00
patrick brisbin
a635a51e8c Fix nightly build 2020-08-19 10:56:37 -04:00
nbloomf
0036d5f4e0 Bump version bounds for dependency hoauth2
We're about to replace the call to `fetchAccessToken` from hoauth2 by `fetchAccessToken2`, which was introduced in 1.7.0 and amended in 1.11.0, to allow for oauth2 implementations that expect POST token payloads. Either the initial or the amended version of `fetchAccessToken2` would work for this, but here we've chosen the most conservative working version bump.
2020-07-08 10:15:40 -04:00
patrick brisbin
5528bb9d07
Version bump 2019-08-29 17:23:21 -04:00
patrick brisbin
4f1de3eb85
Version bump 2019-03-09 09:16:17 -05:00
patrick brisbin
2110b29669
Version bump 2019-01-09 14:00:30 -05:00
patrick brisbin
b775a9c18b
Allow http-client-0.6 2019-01-09 13:59:31 -05:00
patrick brisbin
965d35793d
Version bump, add other-source-files 2018-11-24 14:14:41 -05:00
patrick brisbin
b1caafbe24
Version bump 2018-11-24 14:10:33 -05:00
patrick brisbin
7445bccb8a
Relax upper bounds 2018-11-24 14:10:33 -05:00
chromezh
57c767d04e Fix a link in package.yaml
The `.git` is redundant because on hackage the link of Bug tracker would be `https://github.com/thoughtbot/yesod-auth-oauth2.git/issues` and it is not a valid link.
2018-11-12 09:14:10 -05:00
patrick brisbin
46dfc1232a
Version bump 2018-09-19 08:02:27 -04:00