{-# LANGUAGE RecordWildCards #-} {-# LANGUAGE CPP #-} {-# LANGUAGE OverloadedStrings #-} module Main (main) where import AuthAPI (app, authSettings) import Crypto.Random (drgNew) import Network.Wai.Handler.Warp (run) import Prelude () import Prelude.Compat import Servant.Server.Experimental.Auth.Cookie #if MIN_VERSION_servant (0,9,1) && MIN_VERSION_directory (1,2,5) import FileKeySet (mkFileKeySet, FileKSParams(..), mkFileKey) #endif -- To use mutable server keys we need servant-9.1 and -- directory-1.2.5 (or higher). Otherwise the only (sane) choice is a -- persistent key. main :: IO () main = do rs <- mkRandomSource drgNew 1000 #if MIN_VERSION_servant (0,9,1) && MIN_VERSION_directory (1,2,5) let fksp = FileKSParams { fkspKeySize = 16 , fkspMaxKeys = 3 , fkspPath = "./test-key-set" } k <- mkFileKeySet fksp let generateKey = mkFileKey fksp #else let k = mkPersistentServerKey "0123456789abcdef" let generateKey = return () #endif run 8080 (app authSettings generateKey rs k)