Create a signed JWT needed to make the access token request to gain access to Google APIs for server to server applications.
For all usage details, see https://developers.google.com/identity/protocols/OAuth2ServiceAccount
The email address of the service account.
|-> Maybe Email|
The email address of the user for which the application is requesting delegated access.
The list of the permissions that the application requests.
|-> Maybe Int|
Expiration time (maximun and default value is an hour, 3600).
The private key gotten from the PEM string obtained from the Google API Console.
|-> IO (Either String ByteString)|
Either an error message or a signed JWT.
Create the signed JWT ready for transmission in the access token request as assertion value.
Get the private key obtained from the
Google API Console from a PEM
fromPEMString "-----BEGIN PRIVATE KEY-----\nB9e ... bMdF\n-----END PRIVATE KEY-----\n"