diff options
author | William Carroll <wpcarro@gmail.com> | 2020-08-08T10·07+0100 |
---|---|---|
committer | William Carroll <wpcarro@gmail.com> | 2020-08-08T10·10+0100 |
commit | 7b8ec4170a04076d17e69160b30a9cf9091a3de8 (patch) | |
tree | 78f7e96d17e835e467cb80207fb60b208a550bec /website/sandbox/learnpianochords/src/server/GoogleSignIn.hs | |
parent | 9dcbd0d067b83d03956510faa26b96dff32007e4 (diff) |
Begin work for supporting GoogleSignIn server-side
I'm attempting to be an obedient boy and implement this and future features using TDD. TL;DR: - Defined a few tests - Defined an empty GoogleSignIn module - Defined a Fixtures module to quickly create JWTs to test
Diffstat (limited to 'website/sandbox/learnpianochords/src/server/GoogleSignIn.hs')
-rw-r--r-- | website/sandbox/learnpianochords/src/server/GoogleSignIn.hs | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/website/sandbox/learnpianochords/src/server/GoogleSignIn.hs b/website/sandbox/learnpianochords/src/server/GoogleSignIn.hs new file mode 100644 index 000000000000..43fd79fbd619 --- /dev/null +++ b/website/sandbox/learnpianochords/src/server/GoogleSignIn.hs @@ -0,0 +1,14 @@ +-------------------------------------------------------------------------------- +module GoogleSignIn where +-------------------------------------------------------------------------------- +import Web.JWT +-------------------------------------------------------------------------------- + +-- | Returns True when the supplied `jwt` meets the following criteria: +-- * The token has been signed by Google +-- * The value of `aud` matches my Google client's ID +-- * 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 |