onasty/web/src/JwtUtil.elm(view raw)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
module JwtUtil exposing (isExpired)
import Jwt
import Time
{-| Checks if a JWT token is expired or about to expire.
-}
isExpired : Time.Posix -> String -> Bool
isExpired now token =
let
expirationThreshold =
40 * 1000
timeDiff =
getTokenExpiration token
|> (\expiration -> expiration - Time.posixToMillis now)
in
timeDiff <= expirationThreshold
getTokenExpiration : String -> Int
getTokenExpiration token =
Jwt.getTokenExpirationMillis token |> Result.withDefault 0
|