Skip to content

Commit

Permalink
Update OAuth dependency & add codeSwap
Browse files Browse the repository at this point in the history
  • Loading branch information
RileyEv committed Feb 13, 2022
1 parent 50459dd commit 2aef3e3
Showing 1 changed file with 19 additions and 11 deletions.
30 changes: 19 additions & 11 deletions src/Bank/TrueLayer/Auth.hs
Original file line number Diff line number Diff line change
Expand Up @@ -2,29 +2,37 @@
{-# LANGUAGE QuasiQuotes #-}
module Bank.TrueLayer.Auth
( genAccessToken
, swapCode
) where

import Network.HTTP.Client (newManager)
import Network.HTTP.Client.TLS (tlsManagerSettings)
import Network.OAuth.OAuth2
(ExchangeToken, OAuth2 (..), OAuth2Token, RefreshToken, refreshAccessToken)
(ExchangeToken, OAuth2 (..), OAuth2Token, RefreshToken, fetchAccessToken, refreshAccessToken)
import URI.ByteString.QQ (uri)

oauthSettings :: OAuth2
oauthSettings = OAuth2
{ oauthClientId = "bankmanager-772883"
, oauthClientSecret = Just ""
, oauthOAuthorizeEndpoint = [uri|https://auth.truelayer.com/connect/token|]
, oauthAccessTokenEndpoint = [uri|https://auth.truelayer.com/connect/token|]
, oauthCallback = Just [uri|https://console.truelayer.com/redirect-page|]
{ oauth2ClientId = "bankmanager-772883"
, oauth2ClientSecret = Just ""
, oauth2AuthorizeEndpoint = [uri|https://auth.truelayer.com/connect/token|]
, oauth2TokenEndpoint = [uri|https://auth.truelayer.com/connect/token|]
, oauth2RedirectUri = Just [uri|https://console.truelayer.com/redirect-page|]
}

genAccessToken :: RefreshToken -> IO (Maybe OAuth2Token)
genAccessToken refreshToken = do
manager <- newManager tlsManagerSettings
token <- refreshAccessToken manager oauthSettings refreshToken
return (
case token of
Left err -> Nothing
Right token -> Just token
)
return $ case token of
Left err -> Nothing
Right token -> Just token


swapCode :: ExchangeToken -> IO (Maybe OAuth2Token)
swapCode code = do
manager <- newManager tlsManagerSettings
token <- fetchAccessToken manager oauthSettings code
return $ case token of
Left err -> Nothing
Right token -> Just token

0 comments on commit 2aef3e3

Please sign in to comment.