From 09063fe39b54b4d0f19381958c367e7f297d1685 Mon Sep 17 00:00:00 2001 From: Johannes Christ Date: Mon, 2 Sep 2024 18:31:15 +0200 Subject: [PATCH] Add margin to installation token expiry --- lib/ff_bot/auth/installation_token_server.ex | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/lib/ff_bot/auth/installation_token_server.ex b/lib/ff_bot/auth/installation_token_server.ex index 06f0d68..3bc034f 100644 --- a/lib/ff_bot/auth/installation_token_server.ex +++ b/lib/ff_bot/auth/installation_token_server.ex @@ -68,10 +68,12 @@ defmodule FFBot.Auth.InstallationTokenServer do # If we did find a token, we look at the expiry date on it [{install_id, {exp, token}}] -> - # If it expired in the past, create and return a new token - if exp <= DateTime.utc_now() do - Logger.info("Token was expired at lookup time, generating new one", - installation_id: install_id + # If it expires soon (or is already expired), create and return a new token + exp_with_margin = DateTime.add(exp, -10, :second) + if exp_with_mergin <= DateTime.utc_now() do + Logger.info("Token expires at or near lookup time, generating new one", + installation_id: install_id, + expiry: exp ) token = generate_token(install_id)