Skip to content

Commit

Permalink
Merge pull request #19 from fpco/hoauth-upgrade
Browse files Browse the repository at this point in the history
Hoauth upgrade, Azure CI, warnings cleanup
  • Loading branch information
snoyberg authored Mar 27, 2020
2 parents be0b83e + f2a148b commit c9544ab
Show file tree
Hide file tree
Showing 17 changed files with 115 additions and 23 deletions.
21 changes: 21 additions & 0 deletions .azure/azure-linux-template.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
jobs:
- job: ${{ parameters.name }}
timeoutInMinutes: 180
pool:
vmImage: ${{ parameters.vmImage }}
strategy:
matrix:
GHC 8.6:
ARGS: "--resolver lts-14"
GHC 8.8:
ARGS: "--resolver lts-15"
steps:
- script: |
export STACK_ROOT="$(Build.SourcesDirectory)"/.stack-root;
export PATH=$HOME/.local/bin:$PATH
mkdir -p ~/.local/bin
curl -L https://get.haskellstack.org/stable/linux-x86_64.tar.gz | tar xz --wildcards --strip-components=1 -C ~/.local/bin '*/stack'
stack $ARGS test --bench --no-run-benchmarks --haddock --no-haddock-deps
env:
OS_NAME: ${{ parameters.os }}
displayName: 'Build and test'
21 changes: 21 additions & 0 deletions .azure/azure-osx-template.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
jobs:
- job: ${{ parameters.name }}
timeoutInMinutes: 120
pool:
vmImage: ${{ parameters.vmImage }}
strategy:
matrix:
GHC 8.6:
ARGS: "--resolver lts-14"
GHC 8.8:
ARGS: "--resolver lts-15"
steps:
- script: |
export PATH=$HOME/.local/bin:$PATH
export STACK_ROOT="$(Build.SourcesDirectory)"/.stack-root;
mkdir -p ~/.local/bin
curl -skL https://get.haskellstack.org/stable/osx-x86_64.tar.gz | tar xz --strip-components=1 --include '*/stack' -C ~/.local/bin;
stack $ARGS test --bench --no-run-benchmarks --haddock --no-haddock-deps
env:
OS_NAME: ${{ parameters.os }}
displayName: 'Build and test'
30 changes: 30 additions & 0 deletions .azure/azure-pipelines.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
# This is the complex Azure configuration, which is intended for use
# on open source libraries which need compatibility across multiple GHC
# versions, must work with cabal-install, and should be
# cross-platform. For more information and other options, see:
#
# https://docs.haskellstack.org/en/stable/azure_ci/
#
# Copy these contents into the root directory of your Github project in a file
# named azure-pipelines.yml
#
# For better organization, you split various jobs into seprate parts
# and each of them are controlled via individual file.
jobs:
- template: azure-linux-template.yml
parameters:
name: Linux
vmImage: ubuntu-latest
os: linux

- template: azure-osx-template.yml
parameters:
name: macOS
vmImage: macOS-latest
os: osx

- template: azure-windows-template.yml
parameters:
name: Windows
vmImage: windows-latest
os: windows
18 changes: 18 additions & 0 deletions .azure/azure-windows-template.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
jobs:
- job: ${{ parameters.name }}
timeoutInMinutes: 120
pool:
vmImage: ${{ parameters.vmImage }}
strategy:
matrix:
GHC 8.6:
ARGS: "--resolver lts-14"
steps:
- bash: |
export STACK_ROOT="$(Build.SourcesDirectory)"/.stack-root;
curl -sSkL http://www.stackage.org/stack/windows-x86_64 -o /usr/bin/stack.zip
unzip -o /usr/bin/stack.zip -d /usr/bin/
stack $ARGS test --bench --no-run-benchmarks
env:
OS_NAME: ${{ parameters.os }}
displayName: 'Build and test'
6 changes: 6 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
# 0.2.3.0
========

* Support `hoauth2-1.11.0`
* Expose `decodeKey`

# 0.2.2.0
========

Expand Down
2 changes: 2 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
# wai-middleware-auth

[![Build Status](https://dev.azure.com/fpco/wai-middleware-auth/_apis/build/status/fpco.wai-middleware-auth?branchName=master)](https://dev.azure.com/fpco/wai-middleware-auth/_build/latest?definitionId=4&branchName=master)

Middleware that secures WAI application

## Installation
Expand Down
1 change: 0 additions & 1 deletion app/Main.hs
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@
{-# LANGUAGE TemplateHaskell #-}
module Main where
import qualified Data.ByteString as S
import Data.Monoid ((<>))
import Data.Serialize (put, runPut)
import Network.Wai.Auth.Executable
import Network.Wai.Handler.Warp (run)
Expand Down
1 change: 0 additions & 1 deletion src/Network/Wai/Auth/AppRoot.hs
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@ module Network.Wai.Auth.AppRoot
import Data.ByteString (ByteString)
import Data.CaseInsensitive (CI, mk)
import qualified Data.HashMap.Lazy as HM
import Data.Monoid ((<>))
import qualified Data.Text as T
import Data.Text.Encoding (decodeUtf8With)
import Data.Text.Encoding.Error (lenientDecode)
Expand Down
3 changes: 1 addition & 2 deletions src/Network/Wai/Auth/Config.hs
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,7 @@ module Network.Wai.Auth.Config
) where

import Data.Aeson
import Data.Aeson.TH (defaultOptions, deriveJSON,
fieldLabelModifier)
import Data.Aeson.TH (deriveJSON)
import qualified Data.Text as T
import Data.Text.Encoding (encodeUtf8)
import Network.Wai.Auth.Tools (decodeKey, encodeKey,
Expand Down
3 changes: 2 additions & 1 deletion src/Network/Wai/Middleware/Auth.hs
Original file line number Diff line number Diff line change
Expand Up @@ -22,14 +22,14 @@ module Network.Wai.Middleware.Auth
, waiMiddlewareAuthVersion
, getAuthUser
, getDeleteSessionHeader
, decodeKey
) where

import Blaze.ByteString.Builder (fromByteString)
import Data.Binary (Binary)
import qualified Data.ByteString as S
import Data.ByteString.Builder (Builder)
import qualified Data.HashMap.Strict as HM
import Data.Monoid ((<>))
import qualified Data.Text as T
import Data.Text.Encoding (decodeUtf8With,
encodeUtf8)
Expand All @@ -49,6 +49,7 @@ import Network.Wai (Middleware, Request,
import Network.Wai.Auth.AppRoot
import Network.Wai.Auth.ClientSession
import Network.Wai.Middleware.Auth.Provider
import Network.Wai.Auth.Tools (decodeKey)
import qualified Paths_wai_middleware_auth as Paths
import System.IO.Unsafe (unsafePerformIO)
import System.PosixCompat.Time (epochTime)
Expand Down
3 changes: 1 addition & 2 deletions src/Network/Wai/Middleware/Auth/OAuth2.hs
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,6 @@ import Data.Aeson.TH (defaultOptions,
fieldLabelModifier)
import qualified Data.ByteString as S
import qualified Data.ByteString.Char8 as S8 (pack)
import Data.Monoid ((<>))
import Data.Proxy (Proxy (..))
import qualified Data.Text as T
import Data.Text.Encoding (encodeUtf8,
Expand Down Expand Up @@ -99,7 +98,7 @@ instance AuthProvider OAuth2 where
let oauth2 =
OA2.OAuth2
{ oauthClientId = getClientId oa2ClientId
, oauthClientSecret = getClientSecret oa2ClientSecret
, oauthClientSecret = Just $ getClientSecret oa2ClientSecret
, oauthOAuthorizeEndpoint = authEndpointURI
, oauthAccessTokenEndpoint = accessTokenEndpointURI
, oauthCallback = Just callbackURI
Expand Down
1 change: 0 additions & 1 deletion src/Network/Wai/Middleware/Auth/OAuth2/Github.hs
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@ import Control.Exception.Safe (catchAny)
import Data.Maybe (fromMaybe)
import Data.Aeson
import qualified Data.ByteString as S
import Data.Monoid ((<>))
import Data.Proxy (Proxy (..))
import qualified Data.Text as T
import Data.Text.Encoding (encodeUtf8)
Expand Down
1 change: 0 additions & 1 deletion src/Network/Wai/Middleware/Auth/OAuth2/Google.hs
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,6 @@ import Control.Monad (guard)
import Data.Aeson
import qualified Data.ByteString as S
import Data.Maybe (fromMaybe)
import Data.Monoid ((<>))
import Data.Proxy (Proxy (..))
import qualified Data.Text as T
import Data.Text.Encoding (encodeUtf8)
Expand Down
1 change: 0 additions & 1 deletion src/Network/Wai/Middleware/Auth/Provider.hs
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,6 @@ import qualified Data.ByteString.Builder as B
import qualified Data.HashMap.Strict as HM
import Data.Int
import Data.Maybe (fromMaybe)
import Data.Monoid ((<>))
import Data.Proxy (Proxy)
import qualified Data.Text as T
import Data.Text.Encoding (decodeUtf8With)
Expand Down
4 changes: 2 additions & 2 deletions stack.yaml
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
resolver: lts-14.19
resolver: lts-15.5
extra-deps:
- wai-app-static-3.1.7.1@rev:0
- hoauth2-1.11.0@rev:0 # For older resolvers on CI
16 changes: 8 additions & 8 deletions stack.yaml.lock
Original file line number Diff line number Diff line change
Expand Up @@ -5,15 +5,15 @@

packages:
- completed:
hackage: wai-app-static-3.1.7.1@sha256:e3ab7f9a45c0006e1f8cc3698ce77173f998045e2f4e655ba77eb2a8749f10e9,3967
hackage: hoauth2-1.11.0@sha256:4f7d1a3d743a227857927174ddb76232343c232cd8a995efadcdf631c76c45e9,5628
pantry-tree:
size: 1343
sha256: 3ecb128c3a180043b858bc811b9bd812c152537ab886a96a021ccc5c5fb1541b
size: 2046
sha256: 4646e25d5517bfeca0f60f800ca3aed13537372cddd33175e1f6b08651d478e0
original:
hackage: wai-app-static-3.1.7.1@rev:0
hackage: hoauth2-1.11.0@rev:0
snapshots:
- completed:
size: 524155
url: https://raw.githubusercontent.com/commercialhaskell/stackage-snapshots/master/lts/14/19.yaml
sha256: 9f79f6494473c9b46911364b94c4b5ef19ca8d35ebf62e46697cf651f198ee19
original: lts-14.19
size: 491372
url: https://raw.githubusercontent.com/commercialhaskell/stackage-snapshots/master/lts/15/5.yaml
sha256: 1b549cfff328040c382a70a84a2087aac8dab6d778bf92f32a93a771a1980dfc
original: lts-15.5
6 changes: 3 additions & 3 deletions wai-middleware-auth.cabal
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
cabal-version: 1.18
name: wai-middleware-auth
version: 0.2.2.0
version: 0.2.3.0
synopsis: Authentication middleware that secures WAI application
description: Please see the README and Haddocks at <https://www.stackage.org/package/wai-middleware-auth>
license: MIT
Expand All @@ -25,7 +25,7 @@ library
Network.Wai.Auth.ClientSession
Network.Wai.Auth.Tools
build-depends: aeson
, base >= 4.7 && < 5
, base >= 4.12 && < 5
, base64-bytestring
, binary
, blaze-builder
Expand All @@ -36,7 +36,7 @@ library
, clientsession
, cookie >= 0.4.2
, exceptions
, hoauth2 >= 1.0
, hoauth2 >= 1.11
, http-client
, http-client-tls
, http-conduit
Expand Down

0 comments on commit c9544ab

Please sign in to comment.