Update jwtIsValid API to return IO Bool

I need IO for:
- Getting the current time to validate `exp`
- Making an HTTP request to Google's token verifier endpoint
This commit is contained in:
William Carroll 2020-08-08 11:18:49 +01:00
parent 3eaf6e5aea
commit 926d8e643e
2 changed files with 6 additions and 6 deletions

View file

@ -10,5 +10,5 @@ import Web.JWT
-- * The value of `iss` matches is "accounts.google.com" or
-- "https://accounts.google.com"
-- * The `exp` time has not passed
jwtIsValid :: JWT UnverifiedJWT -> Bool
jwtIsValid jwt = False
jwtIsValid :: JWT UnverifiedJWT -> IO Bool
jwtIsValid jwt = pure False

View file

@ -18,12 +18,12 @@ main = hspec $ do
let mJWT = F.defaultJWTFields { F.overwriteSigner = hmacSecret "wrong" }
|> F.googleJWT
case mJWT of
Nothing -> True == False
Just jwt -> GoogleSignIn.jwtIsValid jwt == False
Nothing -> True `shouldBe` False
Just jwt -> GoogleSignIn.jwtIsValid jwt `shouldReturn` False
it "returns false when the aud field doesn't match my client ID" $ do
let mJWT = F.defaultJWTFields { F.overwriteAud = stringOrURI "wrong" }
|> F.googleJWT
case mJWT of
Nothing -> True == False
Just jwt -> GoogleSignIn.jwtIsValid jwt == False
Nothing -> True `shouldBe` False
Just jwt -> GoogleSignIn.jwtIsValid jwt `shouldReturn` False