From 84b1b752c43662dd19be537a56d110ad10342c56 Mon Sep 17 00:00:00 2001 From: Zoe Roux Date: Thu, 3 Mar 2022 18:05:19 +0100 Subject: [PATCH] Saving jwk keys to a cache. --- api/app/Main.hs | 6 ++++-- docker-compose.yml | 3 +++ 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/api/app/Main.hs b/api/app/Main.hs index ba72584..16b6628 100644 --- a/api/app/Main.hs +++ b/api/app/Main.hs @@ -9,7 +9,7 @@ import Hasql.Pool (acquire) import Hasql.Transaction (Transaction, condemn, sql, statement) import Rel8 (each, insert, select) import Servant -import Servant.Auth.Server (CookieSettings, JWTSettings, defaultCookieSettings, defaultJWTSettings, generateKey) +import Servant.Auth.Server (CookieSettings, JWTSettings, defaultCookieSettings, defaultJWTSettings, generateKey, readKey, writeKey) import Network.Wai.Middleware.Servant.Errors import App import Config (dbConfigToConnSettings, getPostgresConfig) @@ -19,10 +19,12 @@ import Lib import Network.Wai import Network.Wai.Handler.Warp import System.Environment.MrEnv (envAsBool, envAsInt, envAsInteger, envAsString) +import Control.Applicative ((<|>)) main :: IO () main = do - key <- generateKey + let path = "/cache/key.jwk" + key <- readKey path <|> (writeKey path >> readKey path) dbConf <- getPostgresConfig appPort <- envAsInt "AERIS_BACK_PORT" 8080 let jwtCfg = defaultJWTSettings key diff --git a/docker-compose.yml b/docker-compose.yml index d4036c5..b8c3b90 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -32,6 +32,8 @@ services: - "8080:8080" depends_on: - "db" + volumes: + - cache:/cache environment: - POSTGRES_USER=${POSTGRES_USER} - POSTGRES_PASSWORD=${POSTGRES_PASSWORD} @@ -76,4 +78,5 @@ services: volumes: apk: + cache: