-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/


-- | Google Identity Toolkit SDK.
--   
--   Help the third party sites to implement federated login.
--   
--   <i>Warning:</i> This is an experimental prototype/preview release
--   which is still under exploratory development and not intended for
--   public use, caveat emptor!
--   
--   This library is compatible with version <tt>v3</tt> of the API.
@package gogol-identity-toolkit
@version 0.3.0


module Network.Google.IdentityToolkit.Types

-- | Default request referring to version <tt>v3</tt> of the Google
--   Identity Toolkit API. This contains the host and root path used as a
--   starting point for constructing service requests.
identityToolkitService :: ServiceConfig

-- | View and administer all your Firebase data and settings
firebaseScope :: Proxy '["https://www.googleapis.com/auth/firebase"]

-- | View and manage your data across Google Cloud Platform services
cloudPlatformScope :: Proxy '["https://www.googleapis.com/auth/cloud-platform"]
data UploadAccountResponseErrorItem

-- | Creates a value of <a>UploadAccountResponseErrorItem</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>uareiMessage</a></li>
--   <li><a>uareiIndex</a></li>
--   </ul>
uploadAccountResponseErrorItem :: UploadAccountResponseErrorItem

-- | Detailed error message for the account info.
uareiMessage :: Lens' UploadAccountResponseErrorItem (Maybe Text)

-- | The index of the malformed account, starting from 0.
uareiIndex :: Lens' UploadAccountResponseErrorItem (Maybe Int32)
data UserInfoProviderUserInfoItem

-- | Creates a value of <a>UserInfoProviderUserInfoItem</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>uipuiiProviderId</a></li>
--   <li><a>uipuiiEmail</a></li>
--   <li><a>uipuiiPhotoURL</a></li>
--   <li><a>uipuiiFederatedId</a></li>
--   <li><a>uipuiiDisplayName</a></li>
--   <li><a>uipuiiScreenName</a></li>
--   <li><a>uipuiiRawId</a></li>
--   </ul>
userInfoProviderUserInfoItem :: UserInfoProviderUserInfoItem

-- | The IdP ID. For white listed IdPs it's a short domain name, e.g.,
--   google.com, aol.com, live.net and yahoo.com. For other OpenID IdPs
--   it's the OP identifier.
uipuiiProviderId :: Lens' UserInfoProviderUserInfoItem (Maybe Text)

-- | User's email at IDP.
uipuiiEmail :: Lens' UserInfoProviderUserInfoItem (Maybe Text)

-- | The user's photo url at the IDP.
uipuiiPhotoURL :: Lens' UserInfoProviderUserInfoItem (Maybe Text)

-- | User's identifier at IDP.
uipuiiFederatedId :: Lens' UserInfoProviderUserInfoItem (Maybe Text)

-- | The user's display name at the IDP.
uipuiiDisplayName :: Lens' UserInfoProviderUserInfoItem (Maybe Text)

-- | User's screen name at Twitter or login name at Github.
uipuiiScreenName :: Lens' UserInfoProviderUserInfoItem (Maybe Text)

-- | User's raw identifier directly returned from IDP.
uipuiiRawId :: Lens' UserInfoProviderUserInfoItem (Maybe Text)

-- | Response from verifying a custom token
--   
--   <i>See:</i> <a>verifyCustomTokenResponse</a> smart constructor.
data VerifyCustomTokenResponse

-- | Creates a value of <a>VerifyCustomTokenResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>vctrKind</a></li>
--   <li><a>vctrRefreshToken</a></li>
--   <li><a>vctrExpiresIn</a></li>
--   <li><a>vctrIdToken</a></li>
--   </ul>
verifyCustomTokenResponse :: VerifyCustomTokenResponse

-- | The fixed string "identitytoolkit#VerifyCustomTokenResponse".
vctrKind :: Lens' VerifyCustomTokenResponse Text

-- | If idToken is STS id token, then this field will be refresh token.
vctrRefreshToken :: Lens' VerifyCustomTokenResponse (Maybe Text)

-- | If idToken is STS id token, then this field will be expiration time of
--   STS id token in seconds.
vctrExpiresIn :: Lens' VerifyCustomTokenResponse (Maybe Int64)

-- | The GITKit token for authenticated user.
vctrIdToken :: Lens' VerifyCustomTokenResponse (Maybe Text)

-- | Template for a single idp configuration.
--   
--   <i>See:</i> <a>idpConfig</a> smart constructor.
data IdpConfig

-- | Creates a value of <a>IdpConfig</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>icClientId</a></li>
--   <li><a>icEnabled</a></li>
--   <li><a>icWhiteListedAudiences</a></li>
--   <li><a>icSecret</a></li>
--   <li><a>icExperimentPercent</a></li>
--   <li><a>icProvider</a></li>
--   </ul>
idpConfig :: IdpConfig

-- | OAuth2 client ID.
icClientId :: Lens' IdpConfig (Maybe Text)

-- | Whether this IDP is enabled.
icEnabled :: Lens' IdpConfig (Maybe Bool)

-- | Whitelisted client IDs for audience check.
icWhiteListedAudiences :: Lens' IdpConfig [Text]

-- | OAuth2 client secret.
icSecret :: Lens' IdpConfig (Maybe Text)

-- | Percent of users who will be prompted/redirected federated login for
--   this IDP.
icExperimentPercent :: Lens' IdpConfig (Maybe Int32)

-- | OAuth2 provider.
icProvider :: Lens' IdpConfig (Maybe Text)

-- | Template for an individual account info.
--   
--   <i>See:</i> <a>userInfo</a> smart constructor.
data UserInfo

-- | Creates a value of <a>UserInfo</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>uiEmail</a></li>
--   <li><a>uiLastLoginAt</a></li>
--   <li><a>uiPhotoURL</a></li>
--   <li><a>uiCreatedAt</a></li>
--   <li><a>uiDisabled</a></li>
--   <li><a>uiCustomAuth</a></li>
--   <li><a>uiProviderUserInfo</a></li>
--   <li><a>uiValidSince</a></li>
--   <li><a>uiPasswordUpdatedAt</a></li>
--   <li><a>uiVersion</a></li>
--   <li><a>uiEmailVerified</a></li>
--   <li><a>uiSalt</a></li>
--   <li><a>uiDisplayName</a></li>
--   <li><a>uiPasswordHash</a></li>
--   <li><a>uiLocalId</a></li>
--   <li><a>uiRawPassword</a></li>
--   <li><a>uiScreenName</a></li>
--   </ul>
userInfo :: UserInfo

-- | The email of the user.
uiEmail :: Lens' UserInfo (Maybe Text)

-- | last login timestamp.
uiLastLoginAt :: Lens' UserInfo (Maybe Int64)

-- | The URL of the user profile photo.
uiPhotoURL :: Lens' UserInfo (Maybe Text)

-- | User creation timestamp.
uiCreatedAt :: Lens' UserInfo (Maybe Int64)

-- | Whether the user is disabled.
uiDisabled :: Lens' UserInfo (Maybe Bool)

-- | Whether the user is authenticated by the developer.
uiCustomAuth :: Lens' UserInfo (Maybe Bool)

-- | The IDP of the user.
uiProviderUserInfo :: Lens' UserInfo [UserInfoProviderUserInfoItem]

-- | Timestamp in seconds for valid login token.
uiValidSince :: Lens' UserInfo (Maybe Int64)

-- | The timestamp when the password was last updated.
uiPasswordUpdatedAt :: Lens' UserInfo (Maybe Double)

-- | Version of the user's password.
uiVersion :: Lens' UserInfo (Maybe Int32)

-- | Whether the email has been verified.
uiEmailVerified :: Lens' UserInfo (Maybe Bool)

-- | The user's password salt.
uiSalt :: Lens' UserInfo (Maybe ByteString)

-- | The name of the user.
uiDisplayName :: Lens' UserInfo (Maybe Text)

-- | The user's hashed password.
uiPasswordHash :: Lens' UserInfo (Maybe ByteString)

-- | The local ID of the user.
uiLocalId :: Lens' UserInfo (Maybe Text)

-- | The user's plain text password.
uiRawPassword :: Lens' UserInfo (Maybe Text)

-- | User's screen name at Twitter or login name at Github.
uiScreenName :: Lens' UserInfo (Maybe Text)

-- | Response of setting the project configuration.
--   
--   <i>See:</i> <a>identitytoolkitRelyingPartySetProjectConfigResponse</a>
--   smart constructor.
data IdentitytoolkitRelyingPartySetProjectConfigResponse

-- | Creates a value of
--   <a>IdentitytoolkitRelyingPartySetProjectConfigResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>irpspcrProjectId</a></li>
--   </ul>
identitytoolkitRelyingPartySetProjectConfigResponse :: IdentitytoolkitRelyingPartySetProjectConfigResponse

-- | Project ID of the relying party.
irpspcrProjectId :: Lens' IdentitytoolkitRelyingPartySetProjectConfigResponse (Maybe Text)

-- | Request to verify a custom token
--   
--   <i>See:</i> <a>identitytoolkitRelyingPartyVerifyCustomTokenRequest</a>
--   smart constructor.
data IdentitytoolkitRelyingPartyVerifyCustomTokenRequest

-- | Creates a value of
--   <a>IdentitytoolkitRelyingPartyVerifyCustomTokenRequest</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>irpvctrInstanceId</a></li>
--   <li><a>irpvctrDelegatedProjectNumber</a></li>
--   <li><a>irpvctrToken</a></li>
--   <li><a>irpvctrReturnSecureToken</a></li>
--   </ul>
identitytoolkitRelyingPartyVerifyCustomTokenRequest :: IdentitytoolkitRelyingPartyVerifyCustomTokenRequest

-- | Instance id token of the app.
irpvctrInstanceId :: Lens' IdentitytoolkitRelyingPartyVerifyCustomTokenRequest (Maybe Text)

-- | GCP project number of the requesting delegated app. Currently only
--   intended for Firebase V1 migration.
irpvctrDelegatedProjectNumber :: Lens' IdentitytoolkitRelyingPartyVerifyCustomTokenRequest (Maybe Int64)

-- | The custom token to verify
irpvctrToken :: Lens' IdentitytoolkitRelyingPartyVerifyCustomTokenRequest (Maybe Text)

-- | Whether return sts id token and refresh token instead of gitkit token.
irpvctrReturnSecureToken :: Lens' IdentitytoolkitRelyingPartyVerifyCustomTokenRequest (Maybe Bool)
data SetAccountInfoResponseProviderUserInfoItem

-- | Creates a value of <a>SetAccountInfoResponseProviderUserInfoItem</a>
--   with the minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>sairpuiiProviderId</a></li>
--   <li><a>sairpuiiPhotoURL</a></li>
--   <li><a>sairpuiiFederatedId</a></li>
--   <li><a>sairpuiiDisplayName</a></li>
--   </ul>
setAccountInfoResponseProviderUserInfoItem :: SetAccountInfoResponseProviderUserInfoItem

-- | The IdP ID. For whitelisted IdPs it's a short domain name, e.g.,
--   google.com, aol.com, live.net and yahoo.com. For other OpenID IdPs
--   it's the OP identifier.
sairpuiiProviderId :: Lens' SetAccountInfoResponseProviderUserInfoItem (Maybe Text)

-- | The user's photo url at the IDP.
sairpuiiPhotoURL :: Lens' SetAccountInfoResponseProviderUserInfoItem (Maybe Text)

-- | User's identifier at IDP.
sairpuiiFederatedId :: Lens' SetAccountInfoResponseProviderUserInfoItem (Maybe Text)

-- | The user's display name at the IDP.
sairpuiiDisplayName :: Lens' SetAccountInfoResponseProviderUserInfoItem (Maybe Text)

-- | The query parameter that client can customize by themselves in auth
--   url. The following parameters are reserved for server so that they
--   cannot be customized by clients: client_id, response_type, scope,
--   redirect_uri, state, oauth_token.
--   
--   <i>See:</i>
--   <a>identitytoolkitRelyingPartyCreateAuthURIRequestCustomParameter</a>
--   smart constructor.
data IdentitytoolkitRelyingPartyCreateAuthURIRequestCustomParameter

-- | Creates a value of
--   <a>IdentitytoolkitRelyingPartyCreateAuthURIRequestCustomParameter</a>
--   with the minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>irpcaurcpAddtional</a></li>
--   </ul>
identitytoolkitRelyingPartyCreateAuthURIRequestCustomParameter :: HashMap Text Text -> IdentitytoolkitRelyingPartyCreateAuthURIRequestCustomParameter

-- | The customized query parameter.
irpcaurcpAddtional :: Lens' IdentitytoolkitRelyingPartyCreateAuthURIRequestCustomParameter (HashMap Text Text)

-- | Request to verify the password.
--   
--   <i>See:</i> <a>identitytoolkitRelyingPartyVerifyPasswordRequest</a>
--   smart constructor.
data IdentitytoolkitRelyingPartyVerifyPasswordRequest

-- | Creates a value of
--   <a>IdentitytoolkitRelyingPartyVerifyPasswordRequest</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>irpvprEmail</a></li>
--   <li><a>irpvprInstanceId</a></li>
--   <li><a>irpvprCaptchaChallenge</a></li>
--   <li><a>irpvprDelegatedProjectNumber</a></li>
--   <li><a>irpvprReturnSecureToken</a></li>
--   <li><a>irpvprPassword</a></li>
--   <li><a>irpvprCaptchaResponse</a></li>
--   <li><a>irpvprIdToken</a></li>
--   <li><a>irpvprPendingIdToken</a></li>
--   </ul>
identitytoolkitRelyingPartyVerifyPasswordRequest :: IdentitytoolkitRelyingPartyVerifyPasswordRequest

-- | The email of the user.
irpvprEmail :: Lens' IdentitytoolkitRelyingPartyVerifyPasswordRequest (Maybe Text)

-- | Instance id token of the app.
irpvprInstanceId :: Lens' IdentitytoolkitRelyingPartyVerifyPasswordRequest (Maybe Text)

-- | The captcha challenge.
irpvprCaptchaChallenge :: Lens' IdentitytoolkitRelyingPartyVerifyPasswordRequest (Maybe Text)

-- | GCP project number of the requesting delegated app. Currently only
--   intended for Firebase V1 migration.
irpvprDelegatedProjectNumber :: Lens' IdentitytoolkitRelyingPartyVerifyPasswordRequest (Maybe Int64)

-- | Whether return sts id token and refresh token instead of gitkit token.
irpvprReturnSecureToken :: Lens' IdentitytoolkitRelyingPartyVerifyPasswordRequest (Maybe Bool)

-- | The password inputed by the user.
irpvprPassword :: Lens' IdentitytoolkitRelyingPartyVerifyPasswordRequest (Maybe Text)

-- | Response to the captcha.
irpvprCaptchaResponse :: Lens' IdentitytoolkitRelyingPartyVerifyPasswordRequest (Maybe Text)

-- | The GITKit token of the authenticated user.
irpvprIdToken :: Lens' IdentitytoolkitRelyingPartyVerifyPasswordRequest (Maybe Text)

-- | The GITKit token for the non-trusted IDP, which is to be confirmed by
--   the user.
irpvprPendingIdToken :: Lens' IdentitytoolkitRelyingPartyVerifyPasswordRequest (Maybe Text)

-- | Response of signing up new user, creating anonymous user or anonymous
--   user reauth.
--   
--   <i>See:</i> <a>signupNewUserResponse</a> smart constructor.
data SignupNewUserResponse

-- | Creates a value of <a>SignupNewUserResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>snurEmail</a></li>
--   <li><a>snurKind</a></li>
--   <li><a>snurRefreshToken</a></li>
--   <li><a>snurExpiresIn</a></li>
--   <li><a>snurDisplayName</a></li>
--   <li><a>snurLocalId</a></li>
--   <li><a>snurIdToken</a></li>
--   </ul>
signupNewUserResponse :: SignupNewUserResponse

-- | The email of the user.
snurEmail :: Lens' SignupNewUserResponse (Maybe Text)

-- | The fixed string "identitytoolkit#SignupNewUserResponse".
snurKind :: Lens' SignupNewUserResponse Text

-- | If idToken is STS id token, then this field will be refresh token.
snurRefreshToken :: Lens' SignupNewUserResponse (Maybe Text)

-- | If idToken is STS id token, then this field will be expiration time of
--   STS id token in seconds.
snurExpiresIn :: Lens' SignupNewUserResponse (Maybe Int64)

-- | The name of the user.
snurDisplayName :: Lens' SignupNewUserResponse (Maybe Text)

-- | The RP local ID of the user.
snurLocalId :: Lens' SignupNewUserResponse (Maybe Text)

-- | The Gitkit id token to login the newly sign up user.
snurIdToken :: Lens' SignupNewUserResponse (Maybe Text)

-- | Request to set the project configuration.
--   
--   <i>See:</i> <a>identitytoolkitRelyingPartySetProjectConfigRequest</a>
--   smart constructor.
data IdentitytoolkitRelyingPartySetProjectConfigRequest

-- | Creates a value of
--   <a>IdentitytoolkitRelyingPartySetProjectConfigRequest</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>irpspcrAuthorizedDomains</a></li>
--   <li><a>irpspcrAPIKey</a></li>
--   <li><a>irpspcrIdpConfig</a></li>
--   <li><a>irpspcrChangeEmailTemplate</a></li>
--   <li><a>irpspcrDelegatedProjectNumber</a></li>
--   <li><a>irpspcrVerifyEmailTemplate</a></li>
--   <li><a>irpspcrEnableAnonymousUser</a></li>
--   <li><a>irpspcrLegacyResetPasswordTemplate</a></li>
--   <li><a>irpspcrAllowPasswordUser</a></li>
--   <li><a>irpspcrResetPasswordTemplate</a></li>
--   <li><a>irpspcrUseEmailSending</a></li>
--   </ul>
identitytoolkitRelyingPartySetProjectConfigRequest :: IdentitytoolkitRelyingPartySetProjectConfigRequest

-- | Authorized domains for widget redirect.
irpspcrAuthorizedDomains :: Lens' IdentitytoolkitRelyingPartySetProjectConfigRequest [Text]

-- | Browser API key, needed when making http request to Apiary.
irpspcrAPIKey :: Lens' IdentitytoolkitRelyingPartySetProjectConfigRequest (Maybe Text)

-- | Oauth2 provider configuration.
irpspcrIdpConfig :: Lens' IdentitytoolkitRelyingPartySetProjectConfigRequest [IdpConfig]

-- | Change email template.
irpspcrChangeEmailTemplate :: Lens' IdentitytoolkitRelyingPartySetProjectConfigRequest (Maybe EmailTemplate)

-- | GCP project number of the requesting delegated app. Currently only
--   intended for Firebase V1 migration.
irpspcrDelegatedProjectNumber :: Lens' IdentitytoolkitRelyingPartySetProjectConfigRequest (Maybe Int64)

-- | Verify email template.
irpspcrVerifyEmailTemplate :: Lens' IdentitytoolkitRelyingPartySetProjectConfigRequest (Maybe EmailTemplate)

-- | Whether to enable anonymous user.
irpspcrEnableAnonymousUser :: Lens' IdentitytoolkitRelyingPartySetProjectConfigRequest (Maybe Bool)

-- | Legacy reset password email template.
irpspcrLegacyResetPasswordTemplate :: Lens' IdentitytoolkitRelyingPartySetProjectConfigRequest (Maybe EmailTemplate)

-- | Whether to allow password user sign in or sign up.
irpspcrAllowPasswordUser :: Lens' IdentitytoolkitRelyingPartySetProjectConfigRequest (Maybe Bool)

-- | Reset password email template.
irpspcrResetPasswordTemplate :: Lens' IdentitytoolkitRelyingPartySetProjectConfigRequest (Maybe EmailTemplate)

-- | Whether to use email sending provided by Firebear.
irpspcrUseEmailSending :: Lens' IdentitytoolkitRelyingPartySetProjectConfigRequest (Maybe Bool)

-- | Request to set the account information.
--   
--   <i>See:</i> <a>identitytoolkitRelyingPartySetAccountInfoRequest</a>
--   smart constructor.
data IdentitytoolkitRelyingPartySetAccountInfoRequest

-- | Creates a value of
--   <a>IdentitytoolkitRelyingPartySetAccountInfoRequest</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>irpsairUpgradeToFederatedLogin</a></li>
--   <li><a>irpsairEmail</a></li>
--   <li><a>irpsairInstanceId</a></li>
--   <li><a>irpsairLastLoginAt</a></li>
--   <li><a>irpsairPhotoURL</a></li>
--   <li><a>irpsairCaptchaChallenge</a></li>
--   <li><a>irpsairCreatedAt</a></li>
--   <li><a>irpsairDelegatedProjectNumber</a></li>
--   <li><a>irpsairDeleteAttribute</a></li>
--   <li><a>irpsairDeleteProvider</a></li>
--   <li><a>irpsairReturnSecureToken</a></li>
--   <li><a>irpsairValidSince</a></li>
--   <li><a>irpsairOOBCode</a></li>
--   <li><a>irpsairPassword</a></li>
--   <li><a>irpsairCaptchaResponse</a></li>
--   <li><a>irpsairEmailVerified</a></li>
--   <li><a>irpsairDisplayName</a></li>
--   <li><a>irpsairDisableUser</a></li>
--   <li><a>irpsairLocalId</a></li>
--   <li><a>irpsairIdToken</a></li>
--   <li><a>irpsairProvider</a></li>
--   </ul>
identitytoolkitRelyingPartySetAccountInfoRequest :: IdentitytoolkitRelyingPartySetAccountInfoRequest

-- | Mark the user to upgrade to federated login.
irpsairUpgradeToFederatedLogin :: Lens' IdentitytoolkitRelyingPartySetAccountInfoRequest (Maybe Bool)

-- | The email of the user.
irpsairEmail :: Lens' IdentitytoolkitRelyingPartySetAccountInfoRequest (Maybe Text)

-- | Instance id token of the app.
irpsairInstanceId :: Lens' IdentitytoolkitRelyingPartySetAccountInfoRequest (Maybe Text)

-- | Last login timestamp.
irpsairLastLoginAt :: Lens' IdentitytoolkitRelyingPartySetAccountInfoRequest (Maybe Int64)

-- | The photo url of the user.
irpsairPhotoURL :: Lens' IdentitytoolkitRelyingPartySetAccountInfoRequest (Maybe Text)

-- | The captcha challenge.
irpsairCaptchaChallenge :: Lens' IdentitytoolkitRelyingPartySetAccountInfoRequest (Maybe Text)

-- | The timestamp when the account is created.
irpsairCreatedAt :: Lens' IdentitytoolkitRelyingPartySetAccountInfoRequest (Maybe Int64)

-- | GCP project number of the requesting delegated app. Currently only
--   intended for Firebase V1 migration.
irpsairDelegatedProjectNumber :: Lens' IdentitytoolkitRelyingPartySetAccountInfoRequest (Maybe Int64)

-- | The attributes users request to delete.
irpsairDeleteAttribute :: Lens' IdentitytoolkitRelyingPartySetAccountInfoRequest [Text]

-- | The IDPs the user request to delete.
irpsairDeleteProvider :: Lens' IdentitytoolkitRelyingPartySetAccountInfoRequest [Text]

-- | Whether return sts id token and refresh token instead of gitkit token.
irpsairReturnSecureToken :: Lens' IdentitytoolkitRelyingPartySetAccountInfoRequest (Maybe Bool)

-- | Timestamp in seconds for valid login token.
irpsairValidSince :: Lens' IdentitytoolkitRelyingPartySetAccountInfoRequest (Maybe Int64)

-- | The out-of-band code of the change email request.
irpsairOOBCode :: Lens' IdentitytoolkitRelyingPartySetAccountInfoRequest (Maybe Text)

-- | The new password of the user.
irpsairPassword :: Lens' IdentitytoolkitRelyingPartySetAccountInfoRequest (Maybe Text)

-- | Response to the captcha.
irpsairCaptchaResponse :: Lens' IdentitytoolkitRelyingPartySetAccountInfoRequest (Maybe Text)

-- | Mark the email as verified or not.
irpsairEmailVerified :: Lens' IdentitytoolkitRelyingPartySetAccountInfoRequest (Maybe Bool)

-- | The name of the user.
irpsairDisplayName :: Lens' IdentitytoolkitRelyingPartySetAccountInfoRequest (Maybe Text)

-- | Whether to disable the user.
irpsairDisableUser :: Lens' IdentitytoolkitRelyingPartySetAccountInfoRequest (Maybe Bool)

-- | The local ID of the user.
irpsairLocalId :: Lens' IdentitytoolkitRelyingPartySetAccountInfoRequest (Maybe Text)

-- | The GITKit token of the authenticated user.
irpsairIdToken :: Lens' IdentitytoolkitRelyingPartySetAccountInfoRequest (Maybe Text)

-- | The associated IDPs of the user.
irpsairProvider :: Lens' IdentitytoolkitRelyingPartySetAccountInfoRequest [Text]

-- | Request to verify the IDP assertion.
--   
--   <i>See:</i> <a>identitytoolkitRelyingPartyVerifyAssertionRequest</a>
--   smart constructor.
data IdentitytoolkitRelyingPartyVerifyAssertionRequest

-- | Creates a value of
--   <a>IdentitytoolkitRelyingPartyVerifyAssertionRequest</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>irpvarReturnIdpCredential</a></li>
--   <li><a>irpvarInstanceId</a></li>
--   <li><a>irpvarDelegatedProjectNumber</a></li>
--   <li><a>irpvarPostBody</a></li>
--   <li><a>irpvarReturnSecureToken</a></li>
--   <li><a>irpvarReturnRefreshToken</a></li>
--   <li><a>irpvarRequestURI</a></li>
--   <li><a>irpvarSessionId</a></li>
--   <li><a>irpvarIdToken</a></li>
--   <li><a>irpvarPendingIdToken</a></li>
--   </ul>
identitytoolkitRelyingPartyVerifyAssertionRequest :: IdentitytoolkitRelyingPartyVerifyAssertionRequest

-- | Whether return 200 and IDP credential rather than throw exception when
--   federated id is already linked.
irpvarReturnIdpCredential :: Lens' IdentitytoolkitRelyingPartyVerifyAssertionRequest (Maybe Bool)

-- | Instance id token of the app.
irpvarInstanceId :: Lens' IdentitytoolkitRelyingPartyVerifyAssertionRequest (Maybe Text)

-- | GCP project number of the requesting delegated app. Currently only
--   intended for Firebase V1 migration.
irpvarDelegatedProjectNumber :: Lens' IdentitytoolkitRelyingPartyVerifyAssertionRequest (Maybe Int64)

-- | The post body if the request is a HTTP POST.
irpvarPostBody :: Lens' IdentitytoolkitRelyingPartyVerifyAssertionRequest (Maybe Text)

-- | Whether return sts id token and refresh token instead of gitkit token.
irpvarReturnSecureToken :: Lens' IdentitytoolkitRelyingPartyVerifyAssertionRequest (Maybe Bool)

-- | Whether to return refresh tokens.
irpvarReturnRefreshToken :: Lens' IdentitytoolkitRelyingPartyVerifyAssertionRequest (Maybe Bool)

-- | The URI to which the IDP redirects the user back. It may contain
--   federated login result params added by the IDP.
irpvarRequestURI :: Lens' IdentitytoolkitRelyingPartyVerifyAssertionRequest (Maybe Text)

-- | Session ID, which should match the one in previous createAuthUri
--   request.
irpvarSessionId :: Lens' IdentitytoolkitRelyingPartyVerifyAssertionRequest (Maybe Text)

-- | The GITKit token of the authenticated user.
irpvarIdToken :: Lens' IdentitytoolkitRelyingPartyVerifyAssertionRequest (Maybe Text)

-- | The GITKit token for the non-trusted IDP pending to be confirmed by
--   the user.
irpvarPendingIdToken :: Lens' IdentitytoolkitRelyingPartyVerifyAssertionRequest (Maybe Text)

-- | Respone of deleting account.
--   
--   <i>See:</i> <a>deleteAccountResponse</a> smart constructor.
data DeleteAccountResponse

-- | Creates a value of <a>DeleteAccountResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>darKind</a></li>
--   </ul>
deleteAccountResponse :: DeleteAccountResponse

-- | The fixed string "identitytoolkit#DeleteAccountResponse".
darKind :: Lens' DeleteAccountResponse Text

-- | Response of signing out user.
--   
--   <i>See:</i> <a>identitytoolkitRelyingPartySignOutUserResponse</a>
--   smart constructor.
data IdentitytoolkitRelyingPartySignOutUserResponse

-- | Creates a value of
--   <a>IdentitytoolkitRelyingPartySignOutUserResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>irpsourLocalId</a></li>
--   </ul>
identitytoolkitRelyingPartySignOutUserResponse :: IdentitytoolkitRelyingPartySignOutUserResponse

-- | The local ID of the user.
irpsourLocalId :: Lens' IdentitytoolkitRelyingPartySignOutUserResponse (Maybe Text)

-- | Respone of downloading accounts in batch.
--   
--   <i>See:</i> <a>downloadAccountResponse</a> smart constructor.
data DownloadAccountResponse

-- | Creates a value of <a>DownloadAccountResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dNextPageToken</a></li>
--   <li><a>dUsers</a></li>
--   <li><a>dKind</a></li>
--   </ul>
downloadAccountResponse :: DownloadAccountResponse

-- | The next page token. To be used in a subsequent request to return the
--   next page of results.
dNextPageToken :: Lens' DownloadAccountResponse (Maybe Text)

-- | The user accounts data.
dUsers :: Lens' DownloadAccountResponse [UserInfo]

-- | The fixed string "identitytoolkit#DownloadAccountResponse".
dKind :: Lens' DownloadAccountResponse Text

-- | Response of getting the project configuration.
--   
--   <i>See:</i> <a>identitytoolkitRelyingPartyGetProjectConfigResponse</a>
--   smart constructor.
data IdentitytoolkitRelyingPartyGetProjectConfigResponse

-- | Creates a value of
--   <a>IdentitytoolkitRelyingPartyGetProjectConfigResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>irpgpcrAuthorizedDomains</a></li>
--   <li><a>irpgpcrAPIKey</a></li>
--   <li><a>irpgpcrIdpConfig</a></li>
--   <li><a>irpgpcrChangeEmailTemplate</a></li>
--   <li><a>irpgpcrVerifyEmailTemplate</a></li>
--   <li><a>irpgpcrEnableAnonymousUser</a></li>
--   <li><a>irpgpcrLegacyResetPasswordTemplate</a></li>
--   <li><a>irpgpcrAllowPasswordUser</a></li>
--   <li><a>irpgpcrResetPasswordTemplate</a></li>
--   <li><a>irpgpcrProjectId</a></li>
--   <li><a>irpgpcrUseEmailSending</a></li>
--   <li><a>irpgpcrDynamicLinksDomain</a></li>
--   </ul>
identitytoolkitRelyingPartyGetProjectConfigResponse :: IdentitytoolkitRelyingPartyGetProjectConfigResponse

-- | Authorized domains.
irpgpcrAuthorizedDomains :: Lens' IdentitytoolkitRelyingPartyGetProjectConfigResponse [Text]

-- | Browser API key, needed when making http request to Apiary.
irpgpcrAPIKey :: Lens' IdentitytoolkitRelyingPartyGetProjectConfigResponse (Maybe Text)

-- | OAuth2 provider configuration.
irpgpcrIdpConfig :: Lens' IdentitytoolkitRelyingPartyGetProjectConfigResponse [IdpConfig]

-- | Change email template.
irpgpcrChangeEmailTemplate :: Lens' IdentitytoolkitRelyingPartyGetProjectConfigResponse (Maybe EmailTemplate)

-- | Verify email template.
irpgpcrVerifyEmailTemplate :: Lens' IdentitytoolkitRelyingPartyGetProjectConfigResponse (Maybe EmailTemplate)

-- | Whether anonymous user is enabled.
irpgpcrEnableAnonymousUser :: Lens' IdentitytoolkitRelyingPartyGetProjectConfigResponse (Maybe Bool)

-- | Legacy reset password email template.
irpgpcrLegacyResetPasswordTemplate :: Lens' IdentitytoolkitRelyingPartyGetProjectConfigResponse (Maybe EmailTemplate)

-- | Whether to allow password user sign in or sign up.
irpgpcrAllowPasswordUser :: Lens' IdentitytoolkitRelyingPartyGetProjectConfigResponse (Maybe Bool)

-- | Reset password email template.
irpgpcrResetPasswordTemplate :: Lens' IdentitytoolkitRelyingPartyGetProjectConfigResponse (Maybe EmailTemplate)

-- | Project ID of the relying party.
irpgpcrProjectId :: Lens' IdentitytoolkitRelyingPartyGetProjectConfigResponse (Maybe Text)

-- | Whether to use email sending provided by Firebear.
irpgpcrUseEmailSending :: Lens' IdentitytoolkitRelyingPartyGetProjectConfigResponse (Maybe Bool)
irpgpcrDynamicLinksDomain :: Lens' IdentitytoolkitRelyingPartyGetProjectConfigResponse (Maybe Text)

-- | Response of resetting the password.
--   
--   <i>See:</i> <a>resetPasswordResponse</a> smart constructor.
data ResetPasswordResponse

-- | Creates a value of <a>ResetPasswordResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rprEmail</a></li>
--   <li><a>rprKind</a></li>
--   <li><a>rprRequestType</a></li>
--   <li><a>rprNewEmail</a></li>
--   </ul>
resetPasswordResponse :: ResetPasswordResponse

-- | The user's email. If the out-of-band code is for email recovery, the
--   user's original email.
rprEmail :: Lens' ResetPasswordResponse (Maybe Text)

-- | The fixed string "identitytoolkit#ResetPasswordResponse".
rprKind :: Lens' ResetPasswordResponse Text

-- | The request type.
rprRequestType :: Lens' ResetPasswordResponse (Maybe Text)

-- | If the out-of-band code is for email recovery, the user's new email.
rprNewEmail :: Lens' ResetPasswordResponse (Maybe Text)

-- | Respone of uploading accounts in batch.
--   
--   <i>See:</i> <a>uploadAccountResponse</a> smart constructor.
data UploadAccountResponse

-- | Creates a value of <a>UploadAccountResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>uarKind</a></li>
--   <li><a>uarError</a></li>
--   </ul>
uploadAccountResponse :: UploadAccountResponse

-- | The fixed string "identitytoolkit#UploadAccountResponse".
uarKind :: Lens' UploadAccountResponse Text

-- | The error encountered while processing the account info.
uarError :: Lens' UploadAccountResponse [UploadAccountResponseErrorItem]

-- | Response of creating the IDP authentication URL.
--   
--   <i>See:</i> <a>createAuthURIResponse</a> smart constructor.
data CreateAuthURIResponse

-- | Creates a value of <a>CreateAuthURIResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>caurProviderId</a></li>
--   <li><a>caurKind</a></li>
--   <li><a>caurAllProviders</a></li>
--   <li><a>caurAuthURI</a></li>
--   <li><a>caurCaptchaRequired</a></li>
--   <li><a>caurRegistered</a></li>
--   <li><a>caurSessionId</a></li>
--   <li><a>caurForExistingProvider</a></li>
--   </ul>
createAuthURIResponse :: CreateAuthURIResponse

-- | The provider ID of the auth URI.
caurProviderId :: Lens' CreateAuthURIResponse (Maybe Text)

-- | The fixed string identitytoolkit#CreateAuthUriResponse".
caurKind :: Lens' CreateAuthURIResponse Text

-- | all providers the user has once used to do federated login
caurAllProviders :: Lens' CreateAuthURIResponse [Text]

-- | The URI used by the IDP to authenticate the user.
caurAuthURI :: Lens' CreateAuthURIResponse (Maybe Text)

-- | True if captcha is required.
caurCaptchaRequired :: Lens' CreateAuthURIResponse (Maybe Bool)

-- | Whether the user is registered if the identifier is an email.
caurRegistered :: Lens' CreateAuthURIResponse (Maybe Bool)

-- | Session ID which should be passed in the following verifyAssertion
--   request.
caurSessionId :: Lens' CreateAuthURIResponse (Maybe Text)

-- | True if the authUri is for user's existing provider.
caurForExistingProvider :: Lens' CreateAuthURIResponse (Maybe Bool)

-- | Respone of getting public keys.
--   
--   <i>See:</i> <a>identitytoolkitRelyingPartyGetPublicKeysResponse</a>
--   smart constructor.
data IdentitytoolkitRelyingPartyGetPublicKeysResponse

-- | Creates a value of
--   <a>IdentitytoolkitRelyingPartyGetPublicKeysResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>irpgpkrAddtional</a></li>
--   </ul>
identitytoolkitRelyingPartyGetPublicKeysResponse :: HashMap Text Text -> IdentitytoolkitRelyingPartyGetPublicKeysResponse
irpgpkrAddtional :: Lens' IdentitytoolkitRelyingPartyGetPublicKeysResponse (HashMap Text Text)

-- | Request of getting a code for user confirmation (reset password,
--   change email etc.)
--   
--   <i>See:</i> <a>relyingParty</a> smart constructor.
data RelyingParty

-- | Creates a value of <a>RelyingParty</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rpEmail</a></li>
--   <li><a>rpKind</a></li>
--   <li><a>rpUserIP</a></li>
--   <li><a>rpRequestType</a></li>
--   <li><a>rpCaptchaResp</a></li>
--   <li><a>rpNewEmail</a></li>
--   <li><a>rpChallenge</a></li>
--   <li><a>rpIdToken</a></li>
--   </ul>
relyingParty :: RelyingParty

-- | The email of the user.
rpEmail :: Lens' RelyingParty (Maybe Text)

-- | The fixed string "identitytoolkit#relyingparty".
rpKind :: Lens' RelyingParty Text

-- | The IP address of the user.
rpUserIP :: Lens' RelyingParty (Maybe Text)

-- | The request type.
rpRequestType :: Lens' RelyingParty (Maybe Text)

-- | The recaptcha response from the user.
rpCaptchaResp :: Lens' RelyingParty (Maybe Text)

-- | The new email if the code is for email change.
rpNewEmail :: Lens' RelyingParty (Maybe Text)

-- | The recaptcha challenge presented to the user.
rpChallenge :: Lens' RelyingParty (Maybe Text)

-- | The user's Gitkit login token for email change.
rpIdToken :: Lens' RelyingParty (Maybe Text)

-- | Request to get the account information.
--   
--   <i>See:</i> <a>identitytoolkitRelyingPartyGetAccountInfoRequest</a>
--   smart constructor.
data IdentitytoolkitRelyingPartyGetAccountInfoRequest

-- | Creates a value of
--   <a>IdentitytoolkitRelyingPartyGetAccountInfoRequest</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>irpgairEmail</a></li>
--   <li><a>irpgairDelegatedProjectNumber</a></li>
--   <li><a>irpgairLocalId</a></li>
--   <li><a>irpgairIdToken</a></li>
--   </ul>
identitytoolkitRelyingPartyGetAccountInfoRequest :: IdentitytoolkitRelyingPartyGetAccountInfoRequest

-- | The list of emails of the users to inquiry.
irpgairEmail :: Lens' IdentitytoolkitRelyingPartyGetAccountInfoRequest [Text]

-- | GCP project number of the requesting delegated app. Currently only
--   intended for Firebase V1 migration.
irpgairDelegatedProjectNumber :: Lens' IdentitytoolkitRelyingPartyGetAccountInfoRequest (Maybe Int64)

-- | The list of local ID's of the users to inquiry.
irpgairLocalId :: Lens' IdentitytoolkitRelyingPartyGetAccountInfoRequest [Text]

-- | The GITKit token of the authenticated user.
irpgairIdToken :: Lens' IdentitytoolkitRelyingPartyGetAccountInfoRequest (Maybe Text)

-- | Template for an email template.
--   
--   <i>See:</i> <a>emailTemplate</a> smart constructor.
data EmailTemplate

-- | Creates a value of <a>EmailTemplate</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>etSubject</a></li>
--   <li><a>etBody</a></li>
--   <li><a>etFormat</a></li>
--   <li><a>etFromDisplayName</a></li>
--   <li><a>etFrom</a></li>
--   <li><a>etReplyTo</a></li>
--   </ul>
emailTemplate :: EmailTemplate

-- | Subject of the email.
etSubject :: Lens' EmailTemplate (Maybe Text)

-- | Email body.
etBody :: Lens' EmailTemplate (Maybe Text)

-- | Email body format.
etFormat :: Lens' EmailTemplate (Maybe Text)

-- | From display name.
etFromDisplayName :: Lens' EmailTemplate (Maybe Text)

-- | From address of the email.
etFrom :: Lens' EmailTemplate (Maybe Text)

-- | Reply-to address.
etReplyTo :: Lens' EmailTemplate (Maybe Text)

-- | Request to upload user account in batch.
--   
--   <i>See:</i> <a>identitytoolkitRelyingPartyUploadAccountRequest</a>
--   smart constructor.
data IdentitytoolkitRelyingPartyUploadAccountRequest

-- | Creates a value of
--   <a>IdentitytoolkitRelyingPartyUploadAccountRequest</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>irpuarUsers</a></li>
--   <li><a>irpuarMemoryCost</a></li>
--   <li><a>irpuarAllowOverwrite</a></li>
--   <li><a>irpuarDelegatedProjectNumber</a></li>
--   <li><a>irpuarSanityCheck</a></li>
--   <li><a>irpuarSaltSeparator</a></li>
--   <li><a>irpuarHashAlgorithm</a></li>
--   <li><a>irpuarSignerKey</a></li>
--   <li><a>irpuarRounds</a></li>
--   <li><a>irpuarTargetProjectId</a></li>
--   </ul>
identitytoolkitRelyingPartyUploadAccountRequest :: IdentitytoolkitRelyingPartyUploadAccountRequest

-- | The account info to be stored.
irpuarUsers :: Lens' IdentitytoolkitRelyingPartyUploadAccountRequest [UserInfo]

-- | Memory cost for hash calculation. Used by scrypt similar algorithms.
irpuarMemoryCost :: Lens' IdentitytoolkitRelyingPartyUploadAccountRequest (Maybe Int32)

-- | Whether allow overwrite existing account when user local_id exists.
irpuarAllowOverwrite :: Lens' IdentitytoolkitRelyingPartyUploadAccountRequest (Maybe Bool)

-- | GCP project number of the requesting delegated app. Currently only
--   intended for Firebase V1 migration.
irpuarDelegatedProjectNumber :: Lens' IdentitytoolkitRelyingPartyUploadAccountRequest (Maybe Int64)

-- | If true, backend will do sanity check(including duplicate email and
--   federated id) when uploading account.
irpuarSanityCheck :: Lens' IdentitytoolkitRelyingPartyUploadAccountRequest (Maybe Bool)

-- | The salt separator.
irpuarSaltSeparator :: Lens' IdentitytoolkitRelyingPartyUploadAccountRequest (Maybe ByteString)

-- | The password hash algorithm.
irpuarHashAlgorithm :: Lens' IdentitytoolkitRelyingPartyUploadAccountRequest (Maybe Text)

-- | The key for to hash the password.
irpuarSignerKey :: Lens' IdentitytoolkitRelyingPartyUploadAccountRequest (Maybe ByteString)

-- | Rounds for hash calculation. Used by scrypt and similar algorithms.
irpuarRounds :: Lens' IdentitytoolkitRelyingPartyUploadAccountRequest (Maybe Int32)

-- | Specify which project (field value is actually project id) to operate.
--   Only used when provided credential.
irpuarTargetProjectId :: Lens' IdentitytoolkitRelyingPartyUploadAccountRequest (Maybe Text)

-- | Request to reset the password.
--   
--   <i>See:</i> <a>identitytoolkitRelyingPartyResetPasswordRequest</a>
--   smart constructor.
data IdentitytoolkitRelyingPartyResetPasswordRequest

-- | Creates a value of
--   <a>IdentitytoolkitRelyingPartyResetPasswordRequest</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>irprprEmail</a></li>
--   <li><a>irprprNewPassword</a></li>
--   <li><a>irprprOOBCode</a></li>
--   <li><a>irprprOldPassword</a></li>
--   </ul>
identitytoolkitRelyingPartyResetPasswordRequest :: IdentitytoolkitRelyingPartyResetPasswordRequest

-- | The email address of the user.
irprprEmail :: Lens' IdentitytoolkitRelyingPartyResetPasswordRequest (Maybe Text)

-- | The new password inputted by the user.
irprprNewPassword :: Lens' IdentitytoolkitRelyingPartyResetPasswordRequest (Maybe Text)

-- | The confirmation code.
irprprOOBCode :: Lens' IdentitytoolkitRelyingPartyResetPasswordRequest (Maybe Text)

-- | The old password inputted by the user.
irprprOldPassword :: Lens' IdentitytoolkitRelyingPartyResetPasswordRequest (Maybe Text)

-- | Request to get the IDP authentication URL.
--   
--   <i>See:</i> <a>identitytoolkitRelyingPartyCreateAuthURIRequest</a>
--   smart constructor.
data IdentitytoolkitRelyingPartyCreateAuthURIRequest

-- | Creates a value of
--   <a>IdentitytoolkitRelyingPartyCreateAuthURIRequest</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>irpcaurProviderId</a></li>
--   <li><a>irpcaurClientId</a></li>
--   <li><a>irpcaurContext</a></li>
--   <li><a>irpcaurCustomParameter</a></li>
--   <li><a>irpcaurIdentifier</a></li>
--   <li><a>irpcaurOtaApp</a></li>
--   <li><a>irpcaurOAuthConsumerKey</a></li>
--   <li><a>irpcaurHostedDomain</a></li>
--   <li><a>irpcaurAppId</a></li>
--   <li><a>irpcaurContinueURI</a></li>
--   <li><a>irpcaurAuthFlowType</a></li>
--   <li><a>irpcaurOAuthScope</a></li>
--   <li><a>irpcaurSessionId</a></li>
--   <li><a>irpcaurOpenidRealm</a></li>
--   </ul>
identitytoolkitRelyingPartyCreateAuthURIRequest :: IdentitytoolkitRelyingPartyCreateAuthURIRequest

-- | The IdP ID. For white listed IdPs it's a short domain name e.g.
--   google.com, aol.com, live.net and yahoo.com. For other OpenID IdPs
--   it's the OP identifier.
irpcaurProviderId :: Lens' IdentitytoolkitRelyingPartyCreateAuthURIRequest (Maybe Text)

-- | The relying party OAuth client ID.
irpcaurClientId :: Lens' IdentitytoolkitRelyingPartyCreateAuthURIRequest (Maybe Text)

-- | The opaque value used by the client to maintain context info between
--   the authentication request and the IDP callback.
irpcaurContext :: Lens' IdentitytoolkitRelyingPartyCreateAuthURIRequest (Maybe Text)

-- | The query parameter that client can customize by themselves in auth
--   url. The following parameters are reserved for server so that they
--   cannot be customized by clients: client_id, response_type, scope,
--   redirect_uri, state, oauth_token.
irpcaurCustomParameter :: Lens' IdentitytoolkitRelyingPartyCreateAuthURIRequest (Maybe IdentitytoolkitRelyingPartyCreateAuthURIRequestCustomParameter)

-- | The email or federated ID of the user.
irpcaurIdentifier :: Lens' IdentitytoolkitRelyingPartyCreateAuthURIRequest (Maybe Text)

-- | The native app package for OTA installation.
irpcaurOtaApp :: Lens' IdentitytoolkitRelyingPartyCreateAuthURIRequest (Maybe Text)

-- | The developer's consumer key for OpenId OAuth Extension
irpcaurOAuthConsumerKey :: Lens' IdentitytoolkitRelyingPartyCreateAuthURIRequest (Maybe Text)

-- | The hosted domain to restrict sign-in to accounts at that domain for
--   Google Apps hosted accounts.
irpcaurHostedDomain :: Lens' IdentitytoolkitRelyingPartyCreateAuthURIRequest (Maybe Text)

-- | The app ID of the mobile app, base64(CERT_SHA1):PACKAGE_NAME for
--   Android, BUNDLE_ID for iOS.
irpcaurAppId :: Lens' IdentitytoolkitRelyingPartyCreateAuthURIRequest (Maybe Text)

-- | The URI to which the IDP redirects the user after the federated login
--   flow.
irpcaurContinueURI :: Lens' IdentitytoolkitRelyingPartyCreateAuthURIRequest (Maybe Text)

-- | Explicitly specify the auth flow type. Currently only support
--   "CODE_FLOW" type. The field is only used for Google provider.
irpcaurAuthFlowType :: Lens' IdentitytoolkitRelyingPartyCreateAuthURIRequest (Maybe Text)

-- | Additional oauth scopes, beyond the basid user profile, that the user
--   would be prompted to grant
irpcaurOAuthScope :: Lens' IdentitytoolkitRelyingPartyCreateAuthURIRequest (Maybe Text)

-- | The session_id passed by client.
irpcaurSessionId :: Lens' IdentitytoolkitRelyingPartyCreateAuthURIRequest (Maybe Text)

-- | Optional realm for OpenID protocol. The sub string
--   "scheme://domain:port" of the param "continueUri" is used if this is
--   not set.
irpcaurOpenidRealm :: Lens' IdentitytoolkitRelyingPartyCreateAuthURIRequest (Maybe Text)

-- | Response of getting account information.
--   
--   <i>See:</i> <a>getAccountInfoResponse</a> smart constructor.
data GetAccountInfoResponse

-- | Creates a value of <a>GetAccountInfoResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>gairUsers</a></li>
--   <li><a>gairKind</a></li>
--   </ul>
getAccountInfoResponse :: GetAccountInfoResponse

-- | The info of the users.
gairUsers :: Lens' GetAccountInfoResponse [UserInfo]

-- | The fixed string "identitytoolkit#GetAccountInfoResponse".
gairKind :: Lens' GetAccountInfoResponse Text

-- | Request to delete account.
--   
--   <i>See:</i> <a>identitytoolkitRelyingPartyDeleteAccountRequest</a>
--   smart constructor.
data IdentitytoolkitRelyingPartyDeleteAccountRequest

-- | Creates a value of
--   <a>IdentitytoolkitRelyingPartyDeleteAccountRequest</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>irpdarDelegatedProjectNumber</a></li>
--   <li><a>irpdarLocalId</a></li>
--   <li><a>irpdarIdToken</a></li>
--   </ul>
identitytoolkitRelyingPartyDeleteAccountRequest :: IdentitytoolkitRelyingPartyDeleteAccountRequest

-- | GCP project number of the requesting delegated app. Currently only
--   intended for Firebase V1 migration.
irpdarDelegatedProjectNumber :: Lens' IdentitytoolkitRelyingPartyDeleteAccountRequest (Maybe Int64)

-- | The local ID of the user.
irpdarLocalId :: Lens' IdentitytoolkitRelyingPartyDeleteAccountRequest (Maybe Text)

-- | The GITKit token or STS id token of the authenticated user.
irpdarIdToken :: Lens' IdentitytoolkitRelyingPartyDeleteAccountRequest (Maybe Text)

-- | Response of getting a code for user confirmation (reset password,
--   change email etc.).
--   
--   <i>See:</i> <a>getOOBConfirmationCodeResponse</a> smart constructor.
data GetOOBConfirmationCodeResponse

-- | Creates a value of <a>GetOOBConfirmationCodeResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>goobccrEmail</a></li>
--   <li><a>goobccrKind</a></li>
--   <li><a>goobccrOOBCode</a></li>
--   </ul>
getOOBConfirmationCodeResponse :: GetOOBConfirmationCodeResponse

-- | The email address that the email is sent to.
goobccrEmail :: Lens' GetOOBConfirmationCodeResponse (Maybe Text)

-- | The fixed string "identitytoolkit#GetOobConfirmationCodeResponse".
goobccrKind :: Lens' GetOOBConfirmationCodeResponse Text

-- | The code to be send to the user.
goobccrOOBCode :: Lens' GetOOBConfirmationCodeResponse (Maybe Text)

-- | Request to download user account in batch.
--   
--   <i>See:</i> <a>identitytoolkitRelyingPartyDownloadAccountRequest</a>
--   smart constructor.
data IdentitytoolkitRelyingPartyDownloadAccountRequest

-- | Creates a value of
--   <a>IdentitytoolkitRelyingPartyDownloadAccountRequest</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>iNextPageToken</a></li>
--   <li><a>iDelegatedProjectNumber</a></li>
--   <li><a>iMaxResults</a></li>
--   <li><a>iTargetProjectId</a></li>
--   </ul>
identitytoolkitRelyingPartyDownloadAccountRequest :: IdentitytoolkitRelyingPartyDownloadAccountRequest

-- | The token for the next page. This should be taken from the previous
--   response.
iNextPageToken :: Lens' IdentitytoolkitRelyingPartyDownloadAccountRequest (Maybe Text)

-- | GCP project number of the requesting delegated app. Currently only
--   intended for Firebase V1 migration.
iDelegatedProjectNumber :: Lens' IdentitytoolkitRelyingPartyDownloadAccountRequest (Maybe Int64)

-- | The max number of results to return in the response.
iMaxResults :: Lens' IdentitytoolkitRelyingPartyDownloadAccountRequest (Maybe Word32)

-- | Specify which project (field value is actually project id) to operate.
--   Only used when provided credential.
iTargetProjectId :: Lens' IdentitytoolkitRelyingPartyDownloadAccountRequest (Maybe Text)

-- | Request of verifying the password.
--   
--   <i>See:</i> <a>verifyPasswordResponse</a> smart constructor.
data VerifyPasswordResponse

-- | Creates a value of <a>VerifyPasswordResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>vprEmail</a></li>
--   <li><a>vprPhotoURL</a></li>
--   <li><a>vprOAuthAccessToken</a></li>
--   <li><a>vprKind</a></li>
--   <li><a>vprOAuthExpireIn</a></li>
--   <li><a>vprRefreshToken</a></li>
--   <li><a>vprExpiresIn</a></li>
--   <li><a>vprDisplayName</a></li>
--   <li><a>vprLocalId</a></li>
--   <li><a>vprRegistered</a></li>
--   <li><a>vprIdToken</a></li>
--   <li><a>vprOAuthAuthorizationCode</a></li>
--   </ul>
verifyPasswordResponse :: VerifyPasswordResponse

-- | The email returned by the IdP. NOTE: The federated login user may not
--   own the email.
vprEmail :: Lens' VerifyPasswordResponse (Maybe Text)

-- | The URI of the user's photo at IdP
vprPhotoURL :: Lens' VerifyPasswordResponse (Maybe Text)

-- | The OAuth2 access token.
vprOAuthAccessToken :: Lens' VerifyPasswordResponse (Maybe Text)

-- | The fixed string "identitytoolkit#VerifyPasswordResponse".
vprKind :: Lens' VerifyPasswordResponse Text

-- | The lifetime in seconds of the OAuth2 access token.
vprOAuthExpireIn :: Lens' VerifyPasswordResponse (Maybe Int32)

-- | If idToken is STS id token, then this field will be refresh token.
vprRefreshToken :: Lens' VerifyPasswordResponse (Maybe Text)

-- | If idToken is STS id token, then this field will be expiration time of
--   STS id token in seconds.
vprExpiresIn :: Lens' VerifyPasswordResponse (Maybe Int64)

-- | The name of the user.
vprDisplayName :: Lens' VerifyPasswordResponse (Maybe Text)

-- | The RP local ID if it's already been mapped to the IdP account
--   identified by the federated ID.
vprLocalId :: Lens' VerifyPasswordResponse (Maybe Text)

-- | Whether the email is registered.
vprRegistered :: Lens' VerifyPasswordResponse (Maybe Bool)

-- | The GITKit token for authenticated user.
vprIdToken :: Lens' VerifyPasswordResponse (Maybe Text)

-- | The OAuth2 authorization code.
vprOAuthAuthorizationCode :: Lens' VerifyPasswordResponse (Maybe Text)

-- | Respone of setting the account information.
--   
--   <i>See:</i> <a>setAccountInfoResponse</a> smart constructor.
data SetAccountInfoResponse

-- | Creates a value of <a>SetAccountInfoResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>sairEmail</a></li>
--   <li><a>sairPhotoURL</a></li>
--   <li><a>sairKind</a></li>
--   <li><a>sairRefreshToken</a></li>
--   <li><a>sairProviderUserInfo</a></li>
--   <li><a>sairExpiresIn</a></li>
--   <li><a>sairDisplayName</a></li>
--   <li><a>sairPasswordHash</a></li>
--   <li><a>sairLocalId</a></li>
--   <li><a>sairNewEmail</a></li>
--   <li><a>sairIdToken</a></li>
--   </ul>
setAccountInfoResponse :: SetAccountInfoResponse

-- | The email of the user.
sairEmail :: Lens' SetAccountInfoResponse (Maybe Text)

-- | The photo url of the user.
sairPhotoURL :: Lens' SetAccountInfoResponse (Maybe Text)

-- | The fixed string "identitytoolkit#SetAccountInfoResponse".
sairKind :: Lens' SetAccountInfoResponse Text

-- | If idToken is STS id token, then this field will be refresh token.
sairRefreshToken :: Lens' SetAccountInfoResponse (Maybe Text)

-- | The user's profiles at the associated IdPs.
sairProviderUserInfo :: Lens' SetAccountInfoResponse [SetAccountInfoResponseProviderUserInfoItem]

-- | If idToken is STS id token, then this field will be expiration time of
--   STS id token in seconds.
sairExpiresIn :: Lens' SetAccountInfoResponse (Maybe Int64)

-- | The name of the user.
sairDisplayName :: Lens' SetAccountInfoResponse (Maybe Text)

-- | The user's hashed password.
sairPasswordHash :: Lens' SetAccountInfoResponse (Maybe ByteString)

-- | The local ID of the user.
sairLocalId :: Lens' SetAccountInfoResponse (Maybe Text)

-- | The new email the user attempts to change to.
sairNewEmail :: Lens' SetAccountInfoResponse (Maybe Text)

-- | The Gitkit id token to login the newly sign up user.
sairIdToken :: Lens' SetAccountInfoResponse (Maybe Text)

-- | Request to signup new user, create anonymous user or anonymous user
--   reauth.
--   
--   <i>See:</i> <a>identitytoolkitRelyingPartySignupNewUserRequest</a>
--   smart constructor.
data IdentitytoolkitRelyingPartySignupNewUserRequest

-- | Creates a value of
--   <a>IdentitytoolkitRelyingPartySignupNewUserRequest</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>irpsnurEmail</a></li>
--   <li><a>irpsnurInstanceId</a></li>
--   <li><a>irpsnurPhotoURL</a></li>
--   <li><a>irpsnurCaptchaChallenge</a></li>
--   <li><a>irpsnurDisabled</a></li>
--   <li><a>irpsnurPassword</a></li>
--   <li><a>irpsnurCaptchaResponse</a></li>
--   <li><a>irpsnurEmailVerified</a></li>
--   <li><a>irpsnurDisplayName</a></li>
--   <li><a>irpsnurIdToken</a></li>
--   </ul>
identitytoolkitRelyingPartySignupNewUserRequest :: IdentitytoolkitRelyingPartySignupNewUserRequest

-- | The email of the user.
irpsnurEmail :: Lens' IdentitytoolkitRelyingPartySignupNewUserRequest (Maybe Text)

-- | Instance id token of the app.
irpsnurInstanceId :: Lens' IdentitytoolkitRelyingPartySignupNewUserRequest (Maybe Text)

-- | The photo url of the user.
irpsnurPhotoURL :: Lens' IdentitytoolkitRelyingPartySignupNewUserRequest (Maybe Text)

-- | The captcha challenge.
irpsnurCaptchaChallenge :: Lens' IdentitytoolkitRelyingPartySignupNewUserRequest (Maybe Text)

-- | Whether to disable the user. Only can be used by service account.
irpsnurDisabled :: Lens' IdentitytoolkitRelyingPartySignupNewUserRequest (Maybe Bool)

-- | The new password of the user.
irpsnurPassword :: Lens' IdentitytoolkitRelyingPartySignupNewUserRequest (Maybe Text)

-- | Response to the captcha.
irpsnurCaptchaResponse :: Lens' IdentitytoolkitRelyingPartySignupNewUserRequest (Maybe Text)

-- | Mark the email as verified or not. Only can be used by service
--   account.
irpsnurEmailVerified :: Lens' IdentitytoolkitRelyingPartySignupNewUserRequest (Maybe Bool)

-- | The name of the user.
irpsnurDisplayName :: Lens' IdentitytoolkitRelyingPartySignupNewUserRequest (Maybe Text)

-- | The GITKit token of the authenticated user.
irpsnurIdToken :: Lens' IdentitytoolkitRelyingPartySignupNewUserRequest (Maybe Text)

-- | Response of verifying the IDP assertion.
--   
--   <i>See:</i> <a>verifyAssertionResponse</a> smart constructor.
data VerifyAssertionResponse

-- | Creates a value of <a>VerifyAssertionResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>varProviderId</a></li>
--   <li><a>varFullName</a></li>
--   <li><a>varEmail</a></li>
--   <li><a>varEmailRecycled</a></li>
--   <li><a>varPhotoURL</a></li>
--   <li><a>varVerifiedProvider</a></li>
--   <li><a>varContext</a></li>
--   <li><a>varNeedConfirmation</a></li>
--   <li><a>varOriginalEmail</a></li>
--   <li><a>varLastName</a></li>
--   <li><a>varOAuthAccessToken</a></li>
--   <li><a>varDateOfBirth</a></li>
--   <li><a>varKind</a></li>
--   <li><a>varRawUserInfo</a></li>
--   <li><a>varOAuthExpireIn</a></li>
--   <li><a>varRefreshToken</a></li>
--   <li><a>varAppInstallationURL</a></li>
--   <li><a>varAction</a></li>
--   <li><a>varNeedEmail</a></li>
--   <li><a>varFederatedId</a></li>
--   <li><a>varOAuthIdToken</a></li>
--   <li><a>varAppScheme</a></li>
--   <li><a>varExpiresIn</a></li>
--   <li><a>varInputEmail</a></li>
--   <li><a>varEmailVerified</a></li>
--   <li><a>varOAuthTokenSecret</a></li>
--   <li><a>varLanguage</a></li>
--   <li><a>varFirstName</a></li>
--   <li><a>varDisplayName</a></li>
--   <li><a>varOAuthRequestToken</a></li>
--   <li><a>varOAuthScope</a></li>
--   <li><a>varNickName</a></li>
--   <li><a>varLocalId</a></li>
--   <li><a>varTimeZone</a></li>
--   <li><a>varScreenName</a></li>
--   <li><a>varErrorMessage</a></li>
--   <li><a>varIdToken</a></li>
--   <li><a>varOAuthAuthorizationCode</a></li>
--   </ul>
verifyAssertionResponse :: VerifyAssertionResponse

-- | The IdP ID. For white listed IdPs it's a short domain name e.g.
--   google.com, aol.com, live.net and yahoo.com. If the "providerId" param
--   is set to OpenID OP identifer other than the whilte listed IdPs the OP
--   identifier is returned. If the "identifier" param is federated ID in
--   the createAuthUri request. The domain part of the federated ID is
--   returned.
varProviderId :: Lens' VerifyAssertionResponse (Maybe Text)

-- | The full name of the user.
varFullName :: Lens' VerifyAssertionResponse (Maybe Text)

-- | The email returned by the IdP. NOTE: The federated login user may not
--   own the email.
varEmail :: Lens' VerifyAssertionResponse (Maybe Text)

-- | It's true if the email is recycled.
varEmailRecycled :: Lens' VerifyAssertionResponse (Maybe Bool)

-- | The URI of the public accessible profiel picture.
varPhotoURL :: Lens' VerifyAssertionResponse (Maybe Text)

-- | When action is 'map', contains the idps which can be used for
--   confirmation.
varVerifiedProvider :: Lens' VerifyAssertionResponse [Text]

-- | The opaque value used by the client to maintain context info between
--   the authentication request and the IDP callback.
varContext :: Lens' VerifyAssertionResponse (Maybe Text)

-- | Whether the assertion is from a non-trusted IDP and need account
--   linking confirmation.
varNeedConfirmation :: Lens' VerifyAssertionResponse (Maybe Bool)

-- | The original email stored in the mapping storage. It's returned when
--   the federated ID is associated to a different email.
varOriginalEmail :: Lens' VerifyAssertionResponse (Maybe Text)

-- | The last name of the user.
varLastName :: Lens' VerifyAssertionResponse (Maybe Text)

-- | The OAuth2 access token.
varOAuthAccessToken :: Lens' VerifyAssertionResponse (Maybe Text)

-- | The birth date of the IdP account.
varDateOfBirth :: Lens' VerifyAssertionResponse (Maybe Text)

-- | The fixed string "identitytoolkit#VerifyAssertionResponse".
varKind :: Lens' VerifyAssertionResponse Text

-- | Raw IDP-returned user info.
varRawUserInfo :: Lens' VerifyAssertionResponse (Maybe Text)

-- | The lifetime in seconds of the OAuth2 access token.
varOAuthExpireIn :: Lens' VerifyAssertionResponse (Maybe Int32)

-- | If idToken is STS id token, then this field will be refresh token.
varRefreshToken :: Lens' VerifyAssertionResponse (Maybe Text)

-- | URL for OTA app installation.
varAppInstallationURL :: Lens' VerifyAssertionResponse (Maybe Text)

-- | The action code.
varAction :: Lens' VerifyAssertionResponse (Maybe Text)

-- | Whether need client to supply email to complete the federated login
--   flow.
varNeedEmail :: Lens' VerifyAssertionResponse (Maybe Bool)

-- | The unique ID identifies the IdP account.
varFederatedId :: Lens' VerifyAssertionResponse (Maybe Text)

-- | The OIDC id token.
varOAuthIdToken :: Lens' VerifyAssertionResponse (Maybe Text)

-- | The custom scheme used by mobile app.
varAppScheme :: Lens' VerifyAssertionResponse (Maybe Text)

-- | If idToken is STS id token, then this field will be expiration time of
--   STS id token in seconds.
varExpiresIn :: Lens' VerifyAssertionResponse (Maybe Int64)

-- | It's the identifier param in the createAuthUri request if the
--   identifier is an email. It can be used to check whether the user input
--   email is different from the asserted email.
varInputEmail :: Lens' VerifyAssertionResponse (Maybe Text)

-- | The value is true if the IDP is also the email provider. It means the
--   user owns the email.
varEmailVerified :: Lens' VerifyAssertionResponse (Maybe Bool)

-- | The OAuth1 access token secret.
varOAuthTokenSecret :: Lens' VerifyAssertionResponse (Maybe Text)

-- | The language preference of the user.
varLanguage :: Lens' VerifyAssertionResponse (Maybe Text)

-- | The first name of the user.
varFirstName :: Lens' VerifyAssertionResponse (Maybe Text)

-- | The display name of the user.
varDisplayName :: Lens' VerifyAssertionResponse (Maybe Text)

-- | The user approved request token for the OpenID OAuth extension.
varOAuthRequestToken :: Lens' VerifyAssertionResponse (Maybe Text)

-- | The scope for the OpenID OAuth extension.
varOAuthScope :: Lens' VerifyAssertionResponse (Maybe Text)

-- | The nick name of the user.
varNickName :: Lens' VerifyAssertionResponse (Maybe Text)

-- | The RP local ID if it's already been mapped to the IdP account
--   identified by the federated ID.
varLocalId :: Lens' VerifyAssertionResponse (Maybe Text)

-- | The timezone of the user.
varTimeZone :: Lens' VerifyAssertionResponse (Maybe Text)

-- | The screen_name of a Twitter user or the login name at Github.
varScreenName :: Lens' VerifyAssertionResponse (Maybe Text)

-- | Client error code.
varErrorMessage :: Lens' VerifyAssertionResponse (Maybe Text)

-- | The ID token.
varIdToken :: Lens' VerifyAssertionResponse (Maybe Text)

-- | The OAuth2 authorization code.
varOAuthAuthorizationCode :: Lens' VerifyAssertionResponse (Maybe Text)

-- | Request to sign out user.
--   
--   <i>See:</i> <a>identitytoolkitRelyingPartySignOutUserRequest</a> smart
--   constructor.
data IdentitytoolkitRelyingPartySignOutUserRequest

-- | Creates a value of
--   <a>IdentitytoolkitRelyingPartySignOutUserRequest</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>iInstanceId</a></li>
--   <li><a>iLocalId</a></li>
--   </ul>
identitytoolkitRelyingPartySignOutUserRequest :: IdentitytoolkitRelyingPartySignOutUserRequest

-- | Instance id token of the app.
iInstanceId :: Lens' IdentitytoolkitRelyingPartySignOutUserRequest (Maybe Text)

-- | The local ID of the user.
iLocalId :: Lens' IdentitytoolkitRelyingPartySignOutUserRequest (Maybe Text)

-- | Response of getting recaptcha param.
--   
--   <i>See:</i> <a>getRecaptchaParamResponse</a> smart constructor.
data GetRecaptchaParamResponse

-- | Creates a value of <a>GetRecaptchaParamResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>grprRecaptchaSiteKey</a></li>
--   <li><a>grprKind</a></li>
--   <li><a>grprRecaptchaStoken</a></li>
--   </ul>
getRecaptchaParamResponse :: GetRecaptchaParamResponse

-- | Site key registered at recaptcha.
grprRecaptchaSiteKey :: Lens' GetRecaptchaParamResponse (Maybe Text)

-- | The fixed string "identitytoolkit#GetRecaptchaParamResponse".
grprKind :: Lens' GetRecaptchaParamResponse Text

-- | The stoken field for the recaptcha widget, used to request captcha
--   challenge.
grprRecaptchaStoken :: Lens' GetRecaptchaParamResponse (Maybe Text)


-- | Creates the URI used by the IdP to authenticate the user.
--   
--   <i>See:</i> <a>Google Identity Toolkit API Reference</a> for
--   <tt>identitytoolkit.relyingparty.createAuthUri</tt>.
module Network.Google.Resource.IdentityToolkit.RelyingParty.CreateAuthURI

-- | A resource alias for
--   <tt>identitytoolkit.relyingparty.createAuthUri</tt> method which the
--   <a>RelyingPartyCreateAuthURI</a> request conforms to.
type RelyingPartyCreateAuthURIResource = "identitytoolkit" :> ("v3" :> ("relyingparty" :> ("createAuthUri" :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] IdentitytoolkitRelyingPartyCreateAuthURIRequest :> Post '[JSON] CreateAuthURIResponse)))))

-- | Creates a value of <a>RelyingPartyCreateAuthURI</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rpcauPayload</a></li>
--   </ul>
relyingPartyCreateAuthURI :: IdentitytoolkitRelyingPartyCreateAuthURIRequest -> RelyingPartyCreateAuthURI

-- | Creates the URI used by the IdP to authenticate the user.
--   
--   <i>See:</i> <a>relyingPartyCreateAuthURI</a> smart constructor.
data RelyingPartyCreateAuthURI

-- | Multipart request metadata.
rpcauPayload :: Lens' RelyingPartyCreateAuthURI IdentitytoolkitRelyingPartyCreateAuthURIRequest
instance GHC.Generics.Generic Network.Google.Resource.IdentityToolkit.RelyingParty.CreateAuthURI.RelyingPartyCreateAuthURI
instance Data.Data.Data Network.Google.Resource.IdentityToolkit.RelyingParty.CreateAuthURI.RelyingPartyCreateAuthURI
instance GHC.Show.Show Network.Google.Resource.IdentityToolkit.RelyingParty.CreateAuthURI.RelyingPartyCreateAuthURI
instance GHC.Classes.Eq Network.Google.Resource.IdentityToolkit.RelyingParty.CreateAuthURI.RelyingPartyCreateAuthURI
instance Network.Google.Types.GoogleRequest Network.Google.Resource.IdentityToolkit.RelyingParty.CreateAuthURI.RelyingPartyCreateAuthURI


-- | Delete user account.
--   
--   <i>See:</i> <a>Google Identity Toolkit API Reference</a> for
--   <tt>identitytoolkit.relyingparty.deleteAccount</tt>.
module Network.Google.Resource.IdentityToolkit.RelyingParty.DeleteAccount

-- | A resource alias for
--   <tt>identitytoolkit.relyingparty.deleteAccount</tt> method which the
--   <a>RelyingPartyDeleteAccount</a> request conforms to.
type RelyingPartyDeleteAccountResource = "identitytoolkit" :> ("v3" :> ("relyingparty" :> ("deleteAccount" :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] IdentitytoolkitRelyingPartyDeleteAccountRequest :> Post '[JSON] DeleteAccountResponse)))))

-- | Creates a value of <a>RelyingPartyDeleteAccount</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rPayload</a></li>
--   </ul>
relyingPartyDeleteAccount :: IdentitytoolkitRelyingPartyDeleteAccountRequest -> RelyingPartyDeleteAccount

-- | Delete user account.
--   
--   <i>See:</i> <a>relyingPartyDeleteAccount</a> smart constructor.
data RelyingPartyDeleteAccount

-- | Multipart request metadata.
rPayload :: Lens' RelyingPartyDeleteAccount IdentitytoolkitRelyingPartyDeleteAccountRequest
instance GHC.Generics.Generic Network.Google.Resource.IdentityToolkit.RelyingParty.DeleteAccount.RelyingPartyDeleteAccount
instance Data.Data.Data Network.Google.Resource.IdentityToolkit.RelyingParty.DeleteAccount.RelyingPartyDeleteAccount
instance GHC.Show.Show Network.Google.Resource.IdentityToolkit.RelyingParty.DeleteAccount.RelyingPartyDeleteAccount
instance GHC.Classes.Eq Network.Google.Resource.IdentityToolkit.RelyingParty.DeleteAccount.RelyingPartyDeleteAccount
instance Network.Google.Types.GoogleRequest Network.Google.Resource.IdentityToolkit.RelyingParty.DeleteAccount.RelyingPartyDeleteAccount


-- | Batch download user accounts.
--   
--   <i>See:</i> <a>Google Identity Toolkit API Reference</a> for
--   <tt>identitytoolkit.relyingparty.downloadAccount</tt>.
module Network.Google.Resource.IdentityToolkit.RelyingParty.DownloadAccount

-- | A resource alias for
--   <tt>identitytoolkit.relyingparty.downloadAccount</tt> method which the
--   <a>RelyingPartyDownloadAccount</a> request conforms to.
type RelyingPartyDownloadAccountResource = "identitytoolkit" :> ("v3" :> ("relyingparty" :> ("downloadAccount" :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] IdentitytoolkitRelyingPartyDownloadAccountRequest :> Post '[JSON] DownloadAccountResponse)))))

-- | Creates a value of <a>RelyingPartyDownloadAccount</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rpdaPayload</a></li>
--   </ul>
relyingPartyDownloadAccount :: IdentitytoolkitRelyingPartyDownloadAccountRequest -> RelyingPartyDownloadAccount

-- | Batch download user accounts.
--   
--   <i>See:</i> <a>relyingPartyDownloadAccount</a> smart constructor.
data RelyingPartyDownloadAccount

-- | Multipart request metadata.
rpdaPayload :: Lens' RelyingPartyDownloadAccount IdentitytoolkitRelyingPartyDownloadAccountRequest
instance GHC.Generics.Generic Network.Google.Resource.IdentityToolkit.RelyingParty.DownloadAccount.RelyingPartyDownloadAccount
instance Data.Data.Data Network.Google.Resource.IdentityToolkit.RelyingParty.DownloadAccount.RelyingPartyDownloadAccount
instance GHC.Show.Show Network.Google.Resource.IdentityToolkit.RelyingParty.DownloadAccount.RelyingPartyDownloadAccount
instance GHC.Classes.Eq Network.Google.Resource.IdentityToolkit.RelyingParty.DownloadAccount.RelyingPartyDownloadAccount
instance Network.Google.Types.GoogleRequest Network.Google.Resource.IdentityToolkit.RelyingParty.DownloadAccount.RelyingPartyDownloadAccount


-- | Returns the account info.
--   
--   <i>See:</i> <a>Google Identity Toolkit API Reference</a> for
--   <tt>identitytoolkit.relyingparty.getAccountInfo</tt>.
module Network.Google.Resource.IdentityToolkit.RelyingParty.GetAccountInfo

-- | A resource alias for
--   <tt>identitytoolkit.relyingparty.getAccountInfo</tt> method which the
--   <a>RelyingPartyGetAccountInfo</a> request conforms to.
type RelyingPartyGetAccountInfoResource = "identitytoolkit" :> ("v3" :> ("relyingparty" :> ("getAccountInfo" :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] IdentitytoolkitRelyingPartyGetAccountInfoRequest :> Post '[JSON] GetAccountInfoResponse)))))

-- | Creates a value of <a>RelyingPartyGetAccountInfo</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rpgaiPayload</a></li>
--   </ul>
relyingPartyGetAccountInfo :: IdentitytoolkitRelyingPartyGetAccountInfoRequest -> RelyingPartyGetAccountInfo

-- | Returns the account info.
--   
--   <i>See:</i> <a>relyingPartyGetAccountInfo</a> smart constructor.
data RelyingPartyGetAccountInfo

-- | Multipart request metadata.
rpgaiPayload :: Lens' RelyingPartyGetAccountInfo IdentitytoolkitRelyingPartyGetAccountInfoRequest
instance GHC.Generics.Generic Network.Google.Resource.IdentityToolkit.RelyingParty.GetAccountInfo.RelyingPartyGetAccountInfo
instance Data.Data.Data Network.Google.Resource.IdentityToolkit.RelyingParty.GetAccountInfo.RelyingPartyGetAccountInfo
instance GHC.Show.Show Network.Google.Resource.IdentityToolkit.RelyingParty.GetAccountInfo.RelyingPartyGetAccountInfo
instance GHC.Classes.Eq Network.Google.Resource.IdentityToolkit.RelyingParty.GetAccountInfo.RelyingPartyGetAccountInfo
instance Network.Google.Types.GoogleRequest Network.Google.Resource.IdentityToolkit.RelyingParty.GetAccountInfo.RelyingPartyGetAccountInfo


-- | Get a code for user action confirmation.
--   
--   <i>See:</i> <a>Google Identity Toolkit API Reference</a> for
--   <tt>identitytoolkit.relyingparty.getOobConfirmationCode</tt>.
module Network.Google.Resource.IdentityToolkit.RelyingParty.GetOOBConfirmationCode

-- | A resource alias for
--   <tt>identitytoolkit.relyingparty.getOobConfirmationCode</tt> method
--   which the <a>RelyingPartyGetOOBConfirmationCode</a> request conforms
--   to.
type RelyingPartyGetOOBConfirmationCodeResource = "identitytoolkit" :> ("v3" :> ("relyingparty" :> ("getOobConfirmationCode" :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] RelyingParty :> Post '[JSON] GetOOBConfirmationCodeResponse)))))

-- | Creates a value of <a>RelyingPartyGetOOBConfirmationCode</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rpgoobccPayload</a></li>
--   </ul>
relyingPartyGetOOBConfirmationCode :: RelyingParty -> RelyingPartyGetOOBConfirmationCode

-- | Get a code for user action confirmation.
--   
--   <i>See:</i> <a>relyingPartyGetOOBConfirmationCode</a> smart
--   constructor.
data RelyingPartyGetOOBConfirmationCode

-- | Multipart request metadata.
rpgoobccPayload :: Lens' RelyingPartyGetOOBConfirmationCode RelyingParty
instance GHC.Generics.Generic Network.Google.Resource.IdentityToolkit.RelyingParty.GetOOBConfirmationCode.RelyingPartyGetOOBConfirmationCode
instance Data.Data.Data Network.Google.Resource.IdentityToolkit.RelyingParty.GetOOBConfirmationCode.RelyingPartyGetOOBConfirmationCode
instance GHC.Show.Show Network.Google.Resource.IdentityToolkit.RelyingParty.GetOOBConfirmationCode.RelyingPartyGetOOBConfirmationCode
instance GHC.Classes.Eq Network.Google.Resource.IdentityToolkit.RelyingParty.GetOOBConfirmationCode.RelyingPartyGetOOBConfirmationCode
instance Network.Google.Types.GoogleRequest Network.Google.Resource.IdentityToolkit.RelyingParty.GetOOBConfirmationCode.RelyingPartyGetOOBConfirmationCode


-- | Get project configuration.
--   
--   <i>See:</i> <a>Google Identity Toolkit API Reference</a> for
--   <tt>identitytoolkit.relyingparty.getProjectConfig</tt>.
module Network.Google.Resource.IdentityToolkit.RelyingParty.GetProjectConfig

-- | A resource alias for
--   <tt>identitytoolkit.relyingparty.getProjectConfig</tt> method which
--   the <a>RelyingPartyGetProjectConfig</a> request conforms to.
type RelyingPartyGetProjectConfigResource = "identitytoolkit" :> ("v3" :> ("relyingparty" :> ("getProjectConfig" :> (QueryParam "delegatedProjectNumber" Text :> (QueryParam "projectNumber" Text :> (QueryParam "alt" AltJSON :> Get '[JSON] IdentitytoolkitRelyingPartyGetProjectConfigResponse))))))

-- | Creates a value of <a>RelyingPartyGetProjectConfig</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rpgpcDelegatedProjectNumber</a></li>
--   <li><a>rpgpcProjectNumber</a></li>
--   </ul>
relyingPartyGetProjectConfig :: RelyingPartyGetProjectConfig

-- | Get project configuration.
--   
--   <i>See:</i> <a>relyingPartyGetProjectConfig</a> smart constructor.
data RelyingPartyGetProjectConfig

-- | Delegated GCP project number of the request.
rpgpcDelegatedProjectNumber :: Lens' RelyingPartyGetProjectConfig (Maybe Text)

-- | GCP project number of the request.
rpgpcProjectNumber :: Lens' RelyingPartyGetProjectConfig (Maybe Text)
instance GHC.Generics.Generic Network.Google.Resource.IdentityToolkit.RelyingParty.GetProjectConfig.RelyingPartyGetProjectConfig
instance Data.Data.Data Network.Google.Resource.IdentityToolkit.RelyingParty.GetProjectConfig.RelyingPartyGetProjectConfig
instance GHC.Show.Show Network.Google.Resource.IdentityToolkit.RelyingParty.GetProjectConfig.RelyingPartyGetProjectConfig
instance GHC.Classes.Eq Network.Google.Resource.IdentityToolkit.RelyingParty.GetProjectConfig.RelyingPartyGetProjectConfig
instance Network.Google.Types.GoogleRequest Network.Google.Resource.IdentityToolkit.RelyingParty.GetProjectConfig.RelyingPartyGetProjectConfig


-- | Get token signing public key.
--   
--   <i>See:</i> <a>Google Identity Toolkit API Reference</a> for
--   <tt>identitytoolkit.relyingparty.getPublicKeys</tt>.
module Network.Google.Resource.IdentityToolkit.RelyingParty.GetPublicKeys

-- | A resource alias for
--   <tt>identitytoolkit.relyingparty.getPublicKeys</tt> method which the
--   <a>RelyingPartyGetPublicKeys</a> request conforms to.
type RelyingPartyGetPublicKeysResource = "identitytoolkit" :> ("v3" :> ("relyingparty" :> ("publicKeys" :> (QueryParam "alt" AltJSON :> Get '[JSON] IdentitytoolkitRelyingPartyGetPublicKeysResponse))))

-- | Creates a value of <a>RelyingPartyGetPublicKeys</a> with the minimum
--   fields required to make a request.
relyingPartyGetPublicKeys :: RelyingPartyGetPublicKeys

-- | Get token signing public key.
--   
--   <i>See:</i> <a>relyingPartyGetPublicKeys</a> smart constructor.
data RelyingPartyGetPublicKeys
instance GHC.Generics.Generic Network.Google.Resource.IdentityToolkit.RelyingParty.GetPublicKeys.RelyingPartyGetPublicKeys
instance Data.Data.Data Network.Google.Resource.IdentityToolkit.RelyingParty.GetPublicKeys.RelyingPartyGetPublicKeys
instance GHC.Show.Show Network.Google.Resource.IdentityToolkit.RelyingParty.GetPublicKeys.RelyingPartyGetPublicKeys
instance GHC.Classes.Eq Network.Google.Resource.IdentityToolkit.RelyingParty.GetPublicKeys.RelyingPartyGetPublicKeys
instance Network.Google.Types.GoogleRequest Network.Google.Resource.IdentityToolkit.RelyingParty.GetPublicKeys.RelyingPartyGetPublicKeys


-- | Get recaptcha secure param.
--   
--   <i>See:</i> <a>Google Identity Toolkit API Reference</a> for
--   <tt>identitytoolkit.relyingparty.getRecaptchaParam</tt>.
module Network.Google.Resource.IdentityToolkit.RelyingParty.GetRecaptchaParam

-- | A resource alias for
--   <tt>identitytoolkit.relyingparty.getRecaptchaParam</tt> method which
--   the <a>RelyingPartyGetRecaptchaParam</a> request conforms to.
type RelyingPartyGetRecaptchaParamResource = "identitytoolkit" :> ("v3" :> ("relyingparty" :> ("getRecaptchaParam" :> (QueryParam "alt" AltJSON :> Get '[JSON] GetRecaptchaParamResponse))))

-- | Creates a value of <a>RelyingPartyGetRecaptchaParam</a> with the
--   minimum fields required to make a request.
relyingPartyGetRecaptchaParam :: RelyingPartyGetRecaptchaParam

-- | Get recaptcha secure param.
--   
--   <i>See:</i> <a>relyingPartyGetRecaptchaParam</a> smart constructor.
data RelyingPartyGetRecaptchaParam
instance GHC.Generics.Generic Network.Google.Resource.IdentityToolkit.RelyingParty.GetRecaptchaParam.RelyingPartyGetRecaptchaParam
instance Data.Data.Data Network.Google.Resource.IdentityToolkit.RelyingParty.GetRecaptchaParam.RelyingPartyGetRecaptchaParam
instance GHC.Show.Show Network.Google.Resource.IdentityToolkit.RelyingParty.GetRecaptchaParam.RelyingPartyGetRecaptchaParam
instance GHC.Classes.Eq Network.Google.Resource.IdentityToolkit.RelyingParty.GetRecaptchaParam.RelyingPartyGetRecaptchaParam
instance Network.Google.Types.GoogleRequest Network.Google.Resource.IdentityToolkit.RelyingParty.GetRecaptchaParam.RelyingPartyGetRecaptchaParam


-- | Reset password for a user.
--   
--   <i>See:</i> <a>Google Identity Toolkit API Reference</a> for
--   <tt>identitytoolkit.relyingparty.resetPassword</tt>.
module Network.Google.Resource.IdentityToolkit.RelyingParty.ResetPassword

-- | A resource alias for
--   <tt>identitytoolkit.relyingparty.resetPassword</tt> method which the
--   <a>RelyingPartyResetPassword</a> request conforms to.
type RelyingPartyResetPasswordResource = "identitytoolkit" :> ("v3" :> ("relyingparty" :> ("resetPassword" :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] IdentitytoolkitRelyingPartyResetPasswordRequest :> Post '[JSON] ResetPasswordResponse)))))

-- | Creates a value of <a>RelyingPartyResetPassword</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rprpPayload</a></li>
--   </ul>
relyingPartyResetPassword :: IdentitytoolkitRelyingPartyResetPasswordRequest -> RelyingPartyResetPassword

-- | Reset password for a user.
--   
--   <i>See:</i> <a>relyingPartyResetPassword</a> smart constructor.
data RelyingPartyResetPassword

-- | Multipart request metadata.
rprpPayload :: Lens' RelyingPartyResetPassword IdentitytoolkitRelyingPartyResetPasswordRequest
instance GHC.Generics.Generic Network.Google.Resource.IdentityToolkit.RelyingParty.ResetPassword.RelyingPartyResetPassword
instance Data.Data.Data Network.Google.Resource.IdentityToolkit.RelyingParty.ResetPassword.RelyingPartyResetPassword
instance GHC.Show.Show Network.Google.Resource.IdentityToolkit.RelyingParty.ResetPassword.RelyingPartyResetPassword
instance GHC.Classes.Eq Network.Google.Resource.IdentityToolkit.RelyingParty.ResetPassword.RelyingPartyResetPassword
instance Network.Google.Types.GoogleRequest Network.Google.Resource.IdentityToolkit.RelyingParty.ResetPassword.RelyingPartyResetPassword


-- | Set account info for a user.
--   
--   <i>See:</i> <a>Google Identity Toolkit API Reference</a> for
--   <tt>identitytoolkit.relyingparty.setAccountInfo</tt>.
module Network.Google.Resource.IdentityToolkit.RelyingParty.SetAccountInfo

-- | A resource alias for
--   <tt>identitytoolkit.relyingparty.setAccountInfo</tt> method which the
--   <a>RelyingPartySetAccountInfo</a> request conforms to.
type RelyingPartySetAccountInfoResource = "identitytoolkit" :> ("v3" :> ("relyingparty" :> ("setAccountInfo" :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] IdentitytoolkitRelyingPartySetAccountInfoRequest :> Post '[JSON] SetAccountInfoResponse)))))

-- | Creates a value of <a>RelyingPartySetAccountInfo</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rpsaiPayload</a></li>
--   </ul>
relyingPartySetAccountInfo :: IdentitytoolkitRelyingPartySetAccountInfoRequest -> RelyingPartySetAccountInfo

-- | Set account info for a user.
--   
--   <i>See:</i> <a>relyingPartySetAccountInfo</a> smart constructor.
data RelyingPartySetAccountInfo

-- | Multipart request metadata.
rpsaiPayload :: Lens' RelyingPartySetAccountInfo IdentitytoolkitRelyingPartySetAccountInfoRequest
instance GHC.Generics.Generic Network.Google.Resource.IdentityToolkit.RelyingParty.SetAccountInfo.RelyingPartySetAccountInfo
instance Data.Data.Data Network.Google.Resource.IdentityToolkit.RelyingParty.SetAccountInfo.RelyingPartySetAccountInfo
instance GHC.Show.Show Network.Google.Resource.IdentityToolkit.RelyingParty.SetAccountInfo.RelyingPartySetAccountInfo
instance GHC.Classes.Eq Network.Google.Resource.IdentityToolkit.RelyingParty.SetAccountInfo.RelyingPartySetAccountInfo
instance Network.Google.Types.GoogleRequest Network.Google.Resource.IdentityToolkit.RelyingParty.SetAccountInfo.RelyingPartySetAccountInfo


-- | Set project configuration.
--   
--   <i>See:</i> <a>Google Identity Toolkit API Reference</a> for
--   <tt>identitytoolkit.relyingparty.setProjectConfig</tt>.
module Network.Google.Resource.IdentityToolkit.RelyingParty.SetProjectConfig

-- | A resource alias for
--   <tt>identitytoolkit.relyingparty.setProjectConfig</tt> method which
--   the <a>RelyingPartySetProjectConfig</a> request conforms to.
type RelyingPartySetProjectConfigResource = "identitytoolkit" :> ("v3" :> ("relyingparty" :> ("setProjectConfig" :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] IdentitytoolkitRelyingPartySetProjectConfigRequest :> Post '[JSON] IdentitytoolkitRelyingPartySetProjectConfigResponse)))))

-- | Creates a value of <a>RelyingPartySetProjectConfig</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rpspcPayload</a></li>
--   </ul>
relyingPartySetProjectConfig :: IdentitytoolkitRelyingPartySetProjectConfigRequest -> RelyingPartySetProjectConfig

-- | Set project configuration.
--   
--   <i>See:</i> <a>relyingPartySetProjectConfig</a> smart constructor.
data RelyingPartySetProjectConfig

-- | Multipart request metadata.
rpspcPayload :: Lens' RelyingPartySetProjectConfig IdentitytoolkitRelyingPartySetProjectConfigRequest
instance GHC.Generics.Generic Network.Google.Resource.IdentityToolkit.RelyingParty.SetProjectConfig.RelyingPartySetProjectConfig
instance Data.Data.Data Network.Google.Resource.IdentityToolkit.RelyingParty.SetProjectConfig.RelyingPartySetProjectConfig
instance GHC.Show.Show Network.Google.Resource.IdentityToolkit.RelyingParty.SetProjectConfig.RelyingPartySetProjectConfig
instance GHC.Classes.Eq Network.Google.Resource.IdentityToolkit.RelyingParty.SetProjectConfig.RelyingPartySetProjectConfig
instance Network.Google.Types.GoogleRequest Network.Google.Resource.IdentityToolkit.RelyingParty.SetProjectConfig.RelyingPartySetProjectConfig


-- | Sign out user.
--   
--   <i>See:</i> <a>Google Identity Toolkit API Reference</a> for
--   <tt>identitytoolkit.relyingparty.signOutUser</tt>.
module Network.Google.Resource.IdentityToolkit.RelyingParty.SignOutUser

-- | A resource alias for <tt>identitytoolkit.relyingparty.signOutUser</tt>
--   method which the <a>RelyingPartySignOutUser</a> request conforms to.
type RelyingPartySignOutUserResource = "identitytoolkit" :> ("v3" :> ("relyingparty" :> ("signOutUser" :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] IdentitytoolkitRelyingPartySignOutUserRequest :> Post '[JSON] IdentitytoolkitRelyingPartySignOutUserResponse)))))

-- | Creates a value of <a>RelyingPartySignOutUser</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rpsouPayload</a></li>
--   </ul>
relyingPartySignOutUser :: IdentitytoolkitRelyingPartySignOutUserRequest -> RelyingPartySignOutUser

-- | Sign out user.
--   
--   <i>See:</i> <a>relyingPartySignOutUser</a> smart constructor.
data RelyingPartySignOutUser

-- | Multipart request metadata.
rpsouPayload :: Lens' RelyingPartySignOutUser IdentitytoolkitRelyingPartySignOutUserRequest
instance GHC.Generics.Generic Network.Google.Resource.IdentityToolkit.RelyingParty.SignOutUser.RelyingPartySignOutUser
instance Data.Data.Data Network.Google.Resource.IdentityToolkit.RelyingParty.SignOutUser.RelyingPartySignOutUser
instance GHC.Show.Show Network.Google.Resource.IdentityToolkit.RelyingParty.SignOutUser.RelyingPartySignOutUser
instance GHC.Classes.Eq Network.Google.Resource.IdentityToolkit.RelyingParty.SignOutUser.RelyingPartySignOutUser
instance Network.Google.Types.GoogleRequest Network.Google.Resource.IdentityToolkit.RelyingParty.SignOutUser.RelyingPartySignOutUser


-- | Signup new user.
--   
--   <i>See:</i> <a>Google Identity Toolkit API Reference</a> for
--   <tt>identitytoolkit.relyingparty.signupNewUser</tt>.
module Network.Google.Resource.IdentityToolkit.RelyingParty.SignupNewUser

-- | A resource alias for
--   <tt>identitytoolkit.relyingparty.signupNewUser</tt> method which the
--   <a>RelyingPartySignupNewUser</a> request conforms to.
type RelyingPartySignupNewUserResource = "identitytoolkit" :> ("v3" :> ("relyingparty" :> ("signupNewUser" :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] IdentitytoolkitRelyingPartySignupNewUserRequest :> Post '[JSON] SignupNewUserResponse)))))

-- | Creates a value of <a>RelyingPartySignupNewUser</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rpsnuPayload</a></li>
--   </ul>
relyingPartySignupNewUser :: IdentitytoolkitRelyingPartySignupNewUserRequest -> RelyingPartySignupNewUser

-- | Signup new user.
--   
--   <i>See:</i> <a>relyingPartySignupNewUser</a> smart constructor.
data RelyingPartySignupNewUser

-- | Multipart request metadata.
rpsnuPayload :: Lens' RelyingPartySignupNewUser IdentitytoolkitRelyingPartySignupNewUserRequest
instance GHC.Generics.Generic Network.Google.Resource.IdentityToolkit.RelyingParty.SignupNewUser.RelyingPartySignupNewUser
instance Data.Data.Data Network.Google.Resource.IdentityToolkit.RelyingParty.SignupNewUser.RelyingPartySignupNewUser
instance GHC.Show.Show Network.Google.Resource.IdentityToolkit.RelyingParty.SignupNewUser.RelyingPartySignupNewUser
instance GHC.Classes.Eq Network.Google.Resource.IdentityToolkit.RelyingParty.SignupNewUser.RelyingPartySignupNewUser
instance Network.Google.Types.GoogleRequest Network.Google.Resource.IdentityToolkit.RelyingParty.SignupNewUser.RelyingPartySignupNewUser


-- | Batch upload existing user accounts.
--   
--   <i>See:</i> <a>Google Identity Toolkit API Reference</a> for
--   <tt>identitytoolkit.relyingparty.uploadAccount</tt>.
module Network.Google.Resource.IdentityToolkit.RelyingParty.UploadAccount

-- | A resource alias for
--   <tt>identitytoolkit.relyingparty.uploadAccount</tt> method which the
--   <a>RelyingPartyUploadAccount</a> request conforms to.
type RelyingPartyUploadAccountResource = "identitytoolkit" :> ("v3" :> ("relyingparty" :> ("uploadAccount" :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] IdentitytoolkitRelyingPartyUploadAccountRequest :> Post '[JSON] UploadAccountResponse)))))

-- | Creates a value of <a>RelyingPartyUploadAccount</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rpuaPayload</a></li>
--   </ul>
relyingPartyUploadAccount :: IdentitytoolkitRelyingPartyUploadAccountRequest -> RelyingPartyUploadAccount

-- | Batch upload existing user accounts.
--   
--   <i>See:</i> <a>relyingPartyUploadAccount</a> smart constructor.
data RelyingPartyUploadAccount

-- | Multipart request metadata.
rpuaPayload :: Lens' RelyingPartyUploadAccount IdentitytoolkitRelyingPartyUploadAccountRequest
instance GHC.Generics.Generic Network.Google.Resource.IdentityToolkit.RelyingParty.UploadAccount.RelyingPartyUploadAccount
instance Data.Data.Data Network.Google.Resource.IdentityToolkit.RelyingParty.UploadAccount.RelyingPartyUploadAccount
instance GHC.Show.Show Network.Google.Resource.IdentityToolkit.RelyingParty.UploadAccount.RelyingPartyUploadAccount
instance GHC.Classes.Eq Network.Google.Resource.IdentityToolkit.RelyingParty.UploadAccount.RelyingPartyUploadAccount
instance Network.Google.Types.GoogleRequest Network.Google.Resource.IdentityToolkit.RelyingParty.UploadAccount.RelyingPartyUploadAccount


-- | Verifies the assertion returned by the IdP.
--   
--   <i>See:</i> <a>Google Identity Toolkit API Reference</a> for
--   <tt>identitytoolkit.relyingparty.verifyAssertion</tt>.
module Network.Google.Resource.IdentityToolkit.RelyingParty.VerifyAssertion

-- | A resource alias for
--   <tt>identitytoolkit.relyingparty.verifyAssertion</tt> method which the
--   <a>RelyingPartyVerifyAssertion</a> request conforms to.
type RelyingPartyVerifyAssertionResource = "identitytoolkit" :> ("v3" :> ("relyingparty" :> ("verifyAssertion" :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] IdentitytoolkitRelyingPartyVerifyAssertionRequest :> Post '[JSON] VerifyAssertionResponse)))))

-- | Creates a value of <a>RelyingPartyVerifyAssertion</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rpvaPayload</a></li>
--   </ul>
relyingPartyVerifyAssertion :: IdentitytoolkitRelyingPartyVerifyAssertionRequest -> RelyingPartyVerifyAssertion

-- | Verifies the assertion returned by the IdP.
--   
--   <i>See:</i> <a>relyingPartyVerifyAssertion</a> smart constructor.
data RelyingPartyVerifyAssertion

-- | Multipart request metadata.
rpvaPayload :: Lens' RelyingPartyVerifyAssertion IdentitytoolkitRelyingPartyVerifyAssertionRequest
instance GHC.Generics.Generic Network.Google.Resource.IdentityToolkit.RelyingParty.VerifyAssertion.RelyingPartyVerifyAssertion
instance Data.Data.Data Network.Google.Resource.IdentityToolkit.RelyingParty.VerifyAssertion.RelyingPartyVerifyAssertion
instance GHC.Show.Show Network.Google.Resource.IdentityToolkit.RelyingParty.VerifyAssertion.RelyingPartyVerifyAssertion
instance GHC.Classes.Eq Network.Google.Resource.IdentityToolkit.RelyingParty.VerifyAssertion.RelyingPartyVerifyAssertion
instance Network.Google.Types.GoogleRequest Network.Google.Resource.IdentityToolkit.RelyingParty.VerifyAssertion.RelyingPartyVerifyAssertion


-- | Verifies the developer asserted ID token.
--   
--   <i>See:</i> <a>Google Identity Toolkit API Reference</a> for
--   <tt>identitytoolkit.relyingparty.verifyCustomToken</tt>.
module Network.Google.Resource.IdentityToolkit.RelyingParty.VerifyCustomToken

-- | A resource alias for
--   <tt>identitytoolkit.relyingparty.verifyCustomToken</tt> method which
--   the <a>RelyingPartyVerifyCustomToken</a> request conforms to.
type RelyingPartyVerifyCustomTokenResource = "identitytoolkit" :> ("v3" :> ("relyingparty" :> ("verifyCustomToken" :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] IdentitytoolkitRelyingPartyVerifyCustomTokenRequest :> Post '[JSON] VerifyCustomTokenResponse)))))

-- | Creates a value of <a>RelyingPartyVerifyCustomToken</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rpvctPayload</a></li>
--   </ul>
relyingPartyVerifyCustomToken :: IdentitytoolkitRelyingPartyVerifyCustomTokenRequest -> RelyingPartyVerifyCustomToken

-- | Verifies the developer asserted ID token.
--   
--   <i>See:</i> <a>relyingPartyVerifyCustomToken</a> smart constructor.
data RelyingPartyVerifyCustomToken

-- | Multipart request metadata.
rpvctPayload :: Lens' RelyingPartyVerifyCustomToken IdentitytoolkitRelyingPartyVerifyCustomTokenRequest
instance GHC.Generics.Generic Network.Google.Resource.IdentityToolkit.RelyingParty.VerifyCustomToken.RelyingPartyVerifyCustomToken
instance Data.Data.Data Network.Google.Resource.IdentityToolkit.RelyingParty.VerifyCustomToken.RelyingPartyVerifyCustomToken
instance GHC.Show.Show Network.Google.Resource.IdentityToolkit.RelyingParty.VerifyCustomToken.RelyingPartyVerifyCustomToken
instance GHC.Classes.Eq Network.Google.Resource.IdentityToolkit.RelyingParty.VerifyCustomToken.RelyingPartyVerifyCustomToken
instance Network.Google.Types.GoogleRequest Network.Google.Resource.IdentityToolkit.RelyingParty.VerifyCustomToken.RelyingPartyVerifyCustomToken


-- | Verifies the user entered password.
--   
--   <i>See:</i> <a>Google Identity Toolkit API Reference</a> for
--   <tt>identitytoolkit.relyingparty.verifyPassword</tt>.
module Network.Google.Resource.IdentityToolkit.RelyingParty.VerifyPassword

-- | A resource alias for
--   <tt>identitytoolkit.relyingparty.verifyPassword</tt> method which the
--   <a>RelyingPartyVerifyPassword</a> request conforms to.
type RelyingPartyVerifyPasswordResource = "identitytoolkit" :> ("v3" :> ("relyingparty" :> ("verifyPassword" :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] IdentitytoolkitRelyingPartyVerifyPasswordRequest :> Post '[JSON] VerifyPasswordResponse)))))

-- | Creates a value of <a>RelyingPartyVerifyPassword</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rpvpPayload</a></li>
--   </ul>
relyingPartyVerifyPassword :: IdentitytoolkitRelyingPartyVerifyPasswordRequest -> RelyingPartyVerifyPassword

-- | Verifies the user entered password.
--   
--   <i>See:</i> <a>relyingPartyVerifyPassword</a> smart constructor.
data RelyingPartyVerifyPassword

-- | Multipart request metadata.
rpvpPayload :: Lens' RelyingPartyVerifyPassword IdentitytoolkitRelyingPartyVerifyPasswordRequest
instance GHC.Generics.Generic Network.Google.Resource.IdentityToolkit.RelyingParty.VerifyPassword.RelyingPartyVerifyPassword
instance Data.Data.Data Network.Google.Resource.IdentityToolkit.RelyingParty.VerifyPassword.RelyingPartyVerifyPassword
instance GHC.Show.Show Network.Google.Resource.IdentityToolkit.RelyingParty.VerifyPassword.RelyingPartyVerifyPassword
instance GHC.Classes.Eq Network.Google.Resource.IdentityToolkit.RelyingParty.VerifyPassword.RelyingPartyVerifyPassword
instance Network.Google.Types.GoogleRequest Network.Google.Resource.IdentityToolkit.RelyingParty.VerifyPassword.RelyingPartyVerifyPassword


-- | Help the third party sites to implement federated login.
--   
--   <i>See:</i> <a>Google Identity Toolkit API Reference</a>
module Network.Google.IdentityToolkit

-- | Default request referring to version <tt>v3</tt> of the Google
--   Identity Toolkit API. This contains the host and root path used as a
--   starting point for constructing service requests.
identityToolkitService :: ServiceConfig

-- | View and administer all your Firebase data and settings
firebaseScope :: Proxy '["https://www.googleapis.com/auth/firebase"]

-- | View and manage your data across Google Cloud Platform services
cloudPlatformScope :: Proxy '["https://www.googleapis.com/auth/cloud-platform"]

-- | Represents the entirety of the methods and resources available for the
--   Google Identity Toolkit API service.
type IdentityToolkitAPI = RelyingPartySignOutUserResource :<|> (RelyingPartyVerifyCustomTokenResource :<|> (RelyingPartyCreateAuthURIResource :<|> (RelyingPartyUploadAccountResource :<|> (RelyingPartyResetPasswordResource :<|> (RelyingPartySetAccountInfoResource :<|> (RelyingPartyVerifyAssertionResource :<|> (RelyingPartySetProjectConfigResource :<|> (RelyingPartyDeleteAccountResource :<|> (RelyingPartySignupNewUserResource :<|> (RelyingPartyGetOOBConfirmationCodeResource :<|> (RelyingPartyGetRecaptchaParamResource :<|> (RelyingPartyDownloadAccountResource :<|> (RelyingPartyVerifyPasswordResource :<|> (RelyingPartyGetPublicKeysResource :<|> (RelyingPartyGetAccountInfoResource :<|> RelyingPartyGetProjectConfigResource)))))))))))))))
data UploadAccountResponseErrorItem

-- | Creates a value of <a>UploadAccountResponseErrorItem</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>uareiMessage</a></li>
--   <li><a>uareiIndex</a></li>
--   </ul>
uploadAccountResponseErrorItem :: UploadAccountResponseErrorItem

-- | Detailed error message for the account info.
uareiMessage :: Lens' UploadAccountResponseErrorItem (Maybe Text)

-- | The index of the malformed account, starting from 0.
uareiIndex :: Lens' UploadAccountResponseErrorItem (Maybe Int32)
data UserInfoProviderUserInfoItem

-- | Creates a value of <a>UserInfoProviderUserInfoItem</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>uipuiiProviderId</a></li>
--   <li><a>uipuiiEmail</a></li>
--   <li><a>uipuiiPhotoURL</a></li>
--   <li><a>uipuiiFederatedId</a></li>
--   <li><a>uipuiiDisplayName</a></li>
--   <li><a>uipuiiScreenName</a></li>
--   <li><a>uipuiiRawId</a></li>
--   </ul>
userInfoProviderUserInfoItem :: UserInfoProviderUserInfoItem

-- | The IdP ID. For white listed IdPs it's a short domain name, e.g.,
--   google.com, aol.com, live.net and yahoo.com. For other OpenID IdPs
--   it's the OP identifier.
uipuiiProviderId :: Lens' UserInfoProviderUserInfoItem (Maybe Text)

-- | User's email at IDP.
uipuiiEmail :: Lens' UserInfoProviderUserInfoItem (Maybe Text)

-- | The user's photo url at the IDP.
uipuiiPhotoURL :: Lens' UserInfoProviderUserInfoItem (Maybe Text)

-- | User's identifier at IDP.
uipuiiFederatedId :: Lens' UserInfoProviderUserInfoItem (Maybe Text)

-- | The user's display name at the IDP.
uipuiiDisplayName :: Lens' UserInfoProviderUserInfoItem (Maybe Text)

-- | User's screen name at Twitter or login name at Github.
uipuiiScreenName :: Lens' UserInfoProviderUserInfoItem (Maybe Text)

-- | User's raw identifier directly returned from IDP.
uipuiiRawId :: Lens' UserInfoProviderUserInfoItem (Maybe Text)

-- | Response from verifying a custom token
--   
--   <i>See:</i> <a>verifyCustomTokenResponse</a> smart constructor.
data VerifyCustomTokenResponse

-- | Creates a value of <a>VerifyCustomTokenResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>vctrKind</a></li>
--   <li><a>vctrRefreshToken</a></li>
--   <li><a>vctrExpiresIn</a></li>
--   <li><a>vctrIdToken</a></li>
--   </ul>
verifyCustomTokenResponse :: VerifyCustomTokenResponse

-- | The fixed string "identitytoolkit#VerifyCustomTokenResponse".
vctrKind :: Lens' VerifyCustomTokenResponse Text

-- | If idToken is STS id token, then this field will be refresh token.
vctrRefreshToken :: Lens' VerifyCustomTokenResponse (Maybe Text)

-- | If idToken is STS id token, then this field will be expiration time of
--   STS id token in seconds.
vctrExpiresIn :: Lens' VerifyCustomTokenResponse (Maybe Int64)

-- | The GITKit token for authenticated user.
vctrIdToken :: Lens' VerifyCustomTokenResponse (Maybe Text)

-- | Template for a single idp configuration.
--   
--   <i>See:</i> <a>idpConfig</a> smart constructor.
data IdpConfig

-- | Creates a value of <a>IdpConfig</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>icClientId</a></li>
--   <li><a>icEnabled</a></li>
--   <li><a>icWhiteListedAudiences</a></li>
--   <li><a>icSecret</a></li>
--   <li><a>icExperimentPercent</a></li>
--   <li><a>icProvider</a></li>
--   </ul>
idpConfig :: IdpConfig

-- | OAuth2 client ID.
icClientId :: Lens' IdpConfig (Maybe Text)

-- | Whether this IDP is enabled.
icEnabled :: Lens' IdpConfig (Maybe Bool)

-- | Whitelisted client IDs for audience check.
icWhiteListedAudiences :: Lens' IdpConfig [Text]

-- | OAuth2 client secret.
icSecret :: Lens' IdpConfig (Maybe Text)

-- | Percent of users who will be prompted/redirected federated login for
--   this IDP.
icExperimentPercent :: Lens' IdpConfig (Maybe Int32)

-- | OAuth2 provider.
icProvider :: Lens' IdpConfig (Maybe Text)

-- | Template for an individual account info.
--   
--   <i>See:</i> <a>userInfo</a> smart constructor.
data UserInfo

-- | Creates a value of <a>UserInfo</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>uiEmail</a></li>
--   <li><a>uiLastLoginAt</a></li>
--   <li><a>uiPhotoURL</a></li>
--   <li><a>uiCreatedAt</a></li>
--   <li><a>uiDisabled</a></li>
--   <li><a>uiCustomAuth</a></li>
--   <li><a>uiProviderUserInfo</a></li>
--   <li><a>uiValidSince</a></li>
--   <li><a>uiPasswordUpdatedAt</a></li>
--   <li><a>uiVersion</a></li>
--   <li><a>uiEmailVerified</a></li>
--   <li><a>uiSalt</a></li>
--   <li><a>uiDisplayName</a></li>
--   <li><a>uiPasswordHash</a></li>
--   <li><a>uiLocalId</a></li>
--   <li><a>uiRawPassword</a></li>
--   <li><a>uiScreenName</a></li>
--   </ul>
userInfo :: UserInfo

-- | The email of the user.
uiEmail :: Lens' UserInfo (Maybe Text)

-- | last login timestamp.
uiLastLoginAt :: Lens' UserInfo (Maybe Int64)

-- | The URL of the user profile photo.
uiPhotoURL :: Lens' UserInfo (Maybe Text)

-- | User creation timestamp.
uiCreatedAt :: Lens' UserInfo (Maybe Int64)

-- | Whether the user is disabled.
uiDisabled :: Lens' UserInfo (Maybe Bool)

-- | Whether the user is authenticated by the developer.
uiCustomAuth :: Lens' UserInfo (Maybe Bool)

-- | The IDP of the user.
uiProviderUserInfo :: Lens' UserInfo [UserInfoProviderUserInfoItem]

-- | Timestamp in seconds for valid login token.
uiValidSince :: Lens' UserInfo (Maybe Int64)

-- | The timestamp when the password was last updated.
uiPasswordUpdatedAt :: Lens' UserInfo (Maybe Double)

-- | Version of the user's password.
uiVersion :: Lens' UserInfo (Maybe Int32)

-- | Whether the email has been verified.
uiEmailVerified :: Lens' UserInfo (Maybe Bool)

-- | The user's password salt.
uiSalt :: Lens' UserInfo (Maybe ByteString)

-- | The name of the user.
uiDisplayName :: Lens' UserInfo (Maybe Text)

-- | The user's hashed password.
uiPasswordHash :: Lens' UserInfo (Maybe ByteString)

-- | The local ID of the user.
uiLocalId :: Lens' UserInfo (Maybe Text)

-- | The user's plain text password.
uiRawPassword :: Lens' UserInfo (Maybe Text)

-- | User's screen name at Twitter or login name at Github.
uiScreenName :: Lens' UserInfo (Maybe Text)

-- | Response of setting the project configuration.
--   
--   <i>See:</i> <a>identitytoolkitRelyingPartySetProjectConfigResponse</a>
--   smart constructor.
data IdentitytoolkitRelyingPartySetProjectConfigResponse

-- | Creates a value of
--   <a>IdentitytoolkitRelyingPartySetProjectConfigResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>irpspcrProjectId</a></li>
--   </ul>
identitytoolkitRelyingPartySetProjectConfigResponse :: IdentitytoolkitRelyingPartySetProjectConfigResponse

-- | Project ID of the relying party.
irpspcrProjectId :: Lens' IdentitytoolkitRelyingPartySetProjectConfigResponse (Maybe Text)

-- | Request to verify a custom token
--   
--   <i>See:</i> <a>identitytoolkitRelyingPartyVerifyCustomTokenRequest</a>
--   smart constructor.
data IdentitytoolkitRelyingPartyVerifyCustomTokenRequest

-- | Creates a value of
--   <a>IdentitytoolkitRelyingPartyVerifyCustomTokenRequest</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>irpvctrInstanceId</a></li>
--   <li><a>irpvctrDelegatedProjectNumber</a></li>
--   <li><a>irpvctrToken</a></li>
--   <li><a>irpvctrReturnSecureToken</a></li>
--   </ul>
identitytoolkitRelyingPartyVerifyCustomTokenRequest :: IdentitytoolkitRelyingPartyVerifyCustomTokenRequest

-- | Instance id token of the app.
irpvctrInstanceId :: Lens' IdentitytoolkitRelyingPartyVerifyCustomTokenRequest (Maybe Text)

-- | GCP project number of the requesting delegated app. Currently only
--   intended for Firebase V1 migration.
irpvctrDelegatedProjectNumber :: Lens' IdentitytoolkitRelyingPartyVerifyCustomTokenRequest (Maybe Int64)

-- | The custom token to verify
irpvctrToken :: Lens' IdentitytoolkitRelyingPartyVerifyCustomTokenRequest (Maybe Text)

-- | Whether return sts id token and refresh token instead of gitkit token.
irpvctrReturnSecureToken :: Lens' IdentitytoolkitRelyingPartyVerifyCustomTokenRequest (Maybe Bool)
data SetAccountInfoResponseProviderUserInfoItem

-- | Creates a value of <a>SetAccountInfoResponseProviderUserInfoItem</a>
--   with the minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>sairpuiiProviderId</a></li>
--   <li><a>sairpuiiPhotoURL</a></li>
--   <li><a>sairpuiiFederatedId</a></li>
--   <li><a>sairpuiiDisplayName</a></li>
--   </ul>
setAccountInfoResponseProviderUserInfoItem :: SetAccountInfoResponseProviderUserInfoItem

-- | The IdP ID. For whitelisted IdPs it's a short domain name, e.g.,
--   google.com, aol.com, live.net and yahoo.com. For other OpenID IdPs
--   it's the OP identifier.
sairpuiiProviderId :: Lens' SetAccountInfoResponseProviderUserInfoItem (Maybe Text)

-- | The user's photo url at the IDP.
sairpuiiPhotoURL :: Lens' SetAccountInfoResponseProviderUserInfoItem (Maybe Text)

-- | User's identifier at IDP.
sairpuiiFederatedId :: Lens' SetAccountInfoResponseProviderUserInfoItem (Maybe Text)

-- | The user's display name at the IDP.
sairpuiiDisplayName :: Lens' SetAccountInfoResponseProviderUserInfoItem (Maybe Text)

-- | The query parameter that client can customize by themselves in auth
--   url. The following parameters are reserved for server so that they
--   cannot be customized by clients: client_id, response_type, scope,
--   redirect_uri, state, oauth_token.
--   
--   <i>See:</i>
--   <a>identitytoolkitRelyingPartyCreateAuthURIRequestCustomParameter</a>
--   smart constructor.
data IdentitytoolkitRelyingPartyCreateAuthURIRequestCustomParameter

-- | Creates a value of
--   <a>IdentitytoolkitRelyingPartyCreateAuthURIRequestCustomParameter</a>
--   with the minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>irpcaurcpAddtional</a></li>
--   </ul>
identitytoolkitRelyingPartyCreateAuthURIRequestCustomParameter :: HashMap Text Text -> IdentitytoolkitRelyingPartyCreateAuthURIRequestCustomParameter

-- | The customized query parameter.
irpcaurcpAddtional :: Lens' IdentitytoolkitRelyingPartyCreateAuthURIRequestCustomParameter (HashMap Text Text)

-- | Request to verify the password.
--   
--   <i>See:</i> <a>identitytoolkitRelyingPartyVerifyPasswordRequest</a>
--   smart constructor.
data IdentitytoolkitRelyingPartyVerifyPasswordRequest

-- | Creates a value of
--   <a>IdentitytoolkitRelyingPartyVerifyPasswordRequest</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>irpvprEmail</a></li>
--   <li><a>irpvprInstanceId</a></li>
--   <li><a>irpvprCaptchaChallenge</a></li>
--   <li><a>irpvprDelegatedProjectNumber</a></li>
--   <li><a>irpvprReturnSecureToken</a></li>
--   <li><a>irpvprPassword</a></li>
--   <li><a>irpvprCaptchaResponse</a></li>
--   <li><a>irpvprIdToken</a></li>
--   <li><a>irpvprPendingIdToken</a></li>
--   </ul>
identitytoolkitRelyingPartyVerifyPasswordRequest :: IdentitytoolkitRelyingPartyVerifyPasswordRequest

-- | The email of the user.
irpvprEmail :: Lens' IdentitytoolkitRelyingPartyVerifyPasswordRequest (Maybe Text)

-- | Instance id token of the app.
irpvprInstanceId :: Lens' IdentitytoolkitRelyingPartyVerifyPasswordRequest (Maybe Text)

-- | The captcha challenge.
irpvprCaptchaChallenge :: Lens' IdentitytoolkitRelyingPartyVerifyPasswordRequest (Maybe Text)

-- | GCP project number of the requesting delegated app. Currently only
--   intended for Firebase V1 migration.
irpvprDelegatedProjectNumber :: Lens' IdentitytoolkitRelyingPartyVerifyPasswordRequest (Maybe Int64)

-- | Whether return sts id token and refresh token instead of gitkit token.
irpvprReturnSecureToken :: Lens' IdentitytoolkitRelyingPartyVerifyPasswordRequest (Maybe Bool)

-- | The password inputed by the user.
irpvprPassword :: Lens' IdentitytoolkitRelyingPartyVerifyPasswordRequest (Maybe Text)

-- | Response to the captcha.
irpvprCaptchaResponse :: Lens' IdentitytoolkitRelyingPartyVerifyPasswordRequest (Maybe Text)

-- | The GITKit token of the authenticated user.
irpvprIdToken :: Lens' IdentitytoolkitRelyingPartyVerifyPasswordRequest (Maybe Text)

-- | The GITKit token for the non-trusted IDP, which is to be confirmed by
--   the user.
irpvprPendingIdToken :: Lens' IdentitytoolkitRelyingPartyVerifyPasswordRequest (Maybe Text)

-- | Response of signing up new user, creating anonymous user or anonymous
--   user reauth.
--   
--   <i>See:</i> <a>signupNewUserResponse</a> smart constructor.
data SignupNewUserResponse

-- | Creates a value of <a>SignupNewUserResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>snurEmail</a></li>
--   <li><a>snurKind</a></li>
--   <li><a>snurRefreshToken</a></li>
--   <li><a>snurExpiresIn</a></li>
--   <li><a>snurDisplayName</a></li>
--   <li><a>snurLocalId</a></li>
--   <li><a>snurIdToken</a></li>
--   </ul>
signupNewUserResponse :: SignupNewUserResponse

-- | The email of the user.
snurEmail :: Lens' SignupNewUserResponse (Maybe Text)

-- | The fixed string "identitytoolkit#SignupNewUserResponse".
snurKind :: Lens' SignupNewUserResponse Text

-- | If idToken is STS id token, then this field will be refresh token.
snurRefreshToken :: Lens' SignupNewUserResponse (Maybe Text)

-- | If idToken is STS id token, then this field will be expiration time of
--   STS id token in seconds.
snurExpiresIn :: Lens' SignupNewUserResponse (Maybe Int64)

-- | The name of the user.
snurDisplayName :: Lens' SignupNewUserResponse (Maybe Text)

-- | The RP local ID of the user.
snurLocalId :: Lens' SignupNewUserResponse (Maybe Text)

-- | The Gitkit id token to login the newly sign up user.
snurIdToken :: Lens' SignupNewUserResponse (Maybe Text)

-- | Request to set the project configuration.
--   
--   <i>See:</i> <a>identitytoolkitRelyingPartySetProjectConfigRequest</a>
--   smart constructor.
data IdentitytoolkitRelyingPartySetProjectConfigRequest

-- | Creates a value of
--   <a>IdentitytoolkitRelyingPartySetProjectConfigRequest</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>irpspcrAuthorizedDomains</a></li>
--   <li><a>irpspcrAPIKey</a></li>
--   <li><a>irpspcrIdpConfig</a></li>
--   <li><a>irpspcrChangeEmailTemplate</a></li>
--   <li><a>irpspcrDelegatedProjectNumber</a></li>
--   <li><a>irpspcrVerifyEmailTemplate</a></li>
--   <li><a>irpspcrEnableAnonymousUser</a></li>
--   <li><a>irpspcrLegacyResetPasswordTemplate</a></li>
--   <li><a>irpspcrAllowPasswordUser</a></li>
--   <li><a>irpspcrResetPasswordTemplate</a></li>
--   <li><a>irpspcrUseEmailSending</a></li>
--   </ul>
identitytoolkitRelyingPartySetProjectConfigRequest :: IdentitytoolkitRelyingPartySetProjectConfigRequest

-- | Authorized domains for widget redirect.
irpspcrAuthorizedDomains :: Lens' IdentitytoolkitRelyingPartySetProjectConfigRequest [Text]

-- | Browser API key, needed when making http request to Apiary.
irpspcrAPIKey :: Lens' IdentitytoolkitRelyingPartySetProjectConfigRequest (Maybe Text)

-- | Oauth2 provider configuration.
irpspcrIdpConfig :: Lens' IdentitytoolkitRelyingPartySetProjectConfigRequest [IdpConfig]

-- | Change email template.
irpspcrChangeEmailTemplate :: Lens' IdentitytoolkitRelyingPartySetProjectConfigRequest (Maybe EmailTemplate)

-- | GCP project number of the requesting delegated app. Currently only
--   intended for Firebase V1 migration.
irpspcrDelegatedProjectNumber :: Lens' IdentitytoolkitRelyingPartySetProjectConfigRequest (Maybe Int64)

-- | Verify email template.
irpspcrVerifyEmailTemplate :: Lens' IdentitytoolkitRelyingPartySetProjectConfigRequest (Maybe EmailTemplate)

-- | Whether to enable anonymous user.
irpspcrEnableAnonymousUser :: Lens' IdentitytoolkitRelyingPartySetProjectConfigRequest (Maybe Bool)

-- | Legacy reset password email template.
irpspcrLegacyResetPasswordTemplate :: Lens' IdentitytoolkitRelyingPartySetProjectConfigRequest (Maybe EmailTemplate)

-- | Whether to allow password user sign in or sign up.
irpspcrAllowPasswordUser :: Lens' IdentitytoolkitRelyingPartySetProjectConfigRequest (Maybe Bool)

-- | Reset password email template.
irpspcrResetPasswordTemplate :: Lens' IdentitytoolkitRelyingPartySetProjectConfigRequest (Maybe EmailTemplate)

-- | Whether to use email sending provided by Firebear.
irpspcrUseEmailSending :: Lens' IdentitytoolkitRelyingPartySetProjectConfigRequest (Maybe Bool)

-- | Request to set the account information.
--   
--   <i>See:</i> <a>identitytoolkitRelyingPartySetAccountInfoRequest</a>
--   smart constructor.
data IdentitytoolkitRelyingPartySetAccountInfoRequest

-- | Creates a value of
--   <a>IdentitytoolkitRelyingPartySetAccountInfoRequest</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>irpsairUpgradeToFederatedLogin</a></li>
--   <li><a>irpsairEmail</a></li>
--   <li><a>irpsairInstanceId</a></li>
--   <li><a>irpsairLastLoginAt</a></li>
--   <li><a>irpsairPhotoURL</a></li>
--   <li><a>irpsairCaptchaChallenge</a></li>
--   <li><a>irpsairCreatedAt</a></li>
--   <li><a>irpsairDelegatedProjectNumber</a></li>
--   <li><a>irpsairDeleteAttribute</a></li>
--   <li><a>irpsairDeleteProvider</a></li>
--   <li><a>irpsairReturnSecureToken</a></li>
--   <li><a>irpsairValidSince</a></li>
--   <li><a>irpsairOOBCode</a></li>
--   <li><a>irpsairPassword</a></li>
--   <li><a>irpsairCaptchaResponse</a></li>
--   <li><a>irpsairEmailVerified</a></li>
--   <li><a>irpsairDisplayName</a></li>
--   <li><a>irpsairDisableUser</a></li>
--   <li><a>irpsairLocalId</a></li>
--   <li><a>irpsairIdToken</a></li>
--   <li><a>irpsairProvider</a></li>
--   </ul>
identitytoolkitRelyingPartySetAccountInfoRequest :: IdentitytoolkitRelyingPartySetAccountInfoRequest

-- | Mark the user to upgrade to federated login.
irpsairUpgradeToFederatedLogin :: Lens' IdentitytoolkitRelyingPartySetAccountInfoRequest (Maybe Bool)

-- | The email of the user.
irpsairEmail :: Lens' IdentitytoolkitRelyingPartySetAccountInfoRequest (Maybe Text)

-- | Instance id token of the app.
irpsairInstanceId :: Lens' IdentitytoolkitRelyingPartySetAccountInfoRequest (Maybe Text)

-- | Last login timestamp.
irpsairLastLoginAt :: Lens' IdentitytoolkitRelyingPartySetAccountInfoRequest (Maybe Int64)

-- | The photo url of the user.
irpsairPhotoURL :: Lens' IdentitytoolkitRelyingPartySetAccountInfoRequest (Maybe Text)

-- | The captcha challenge.
irpsairCaptchaChallenge :: Lens' IdentitytoolkitRelyingPartySetAccountInfoRequest (Maybe Text)

-- | The timestamp when the account is created.
irpsairCreatedAt :: Lens' IdentitytoolkitRelyingPartySetAccountInfoRequest (Maybe Int64)

-- | GCP project number of the requesting delegated app. Currently only
--   intended for Firebase V1 migration.
irpsairDelegatedProjectNumber :: Lens' IdentitytoolkitRelyingPartySetAccountInfoRequest (Maybe Int64)

-- | The attributes users request to delete.
irpsairDeleteAttribute :: Lens' IdentitytoolkitRelyingPartySetAccountInfoRequest [Text]

-- | The IDPs the user request to delete.
irpsairDeleteProvider :: Lens' IdentitytoolkitRelyingPartySetAccountInfoRequest [Text]

-- | Whether return sts id token and refresh token instead of gitkit token.
irpsairReturnSecureToken :: Lens' IdentitytoolkitRelyingPartySetAccountInfoRequest (Maybe Bool)

-- | Timestamp in seconds for valid login token.
irpsairValidSince :: Lens' IdentitytoolkitRelyingPartySetAccountInfoRequest (Maybe Int64)

-- | The out-of-band code of the change email request.
irpsairOOBCode :: Lens' IdentitytoolkitRelyingPartySetAccountInfoRequest (Maybe Text)

-- | The new password of the user.
irpsairPassword :: Lens' IdentitytoolkitRelyingPartySetAccountInfoRequest (Maybe Text)

-- | Response to the captcha.
irpsairCaptchaResponse :: Lens' IdentitytoolkitRelyingPartySetAccountInfoRequest (Maybe Text)

-- | Mark the email as verified or not.
irpsairEmailVerified :: Lens' IdentitytoolkitRelyingPartySetAccountInfoRequest (Maybe Bool)

-- | The name of the user.
irpsairDisplayName :: Lens' IdentitytoolkitRelyingPartySetAccountInfoRequest (Maybe Text)

-- | Whether to disable the user.
irpsairDisableUser :: Lens' IdentitytoolkitRelyingPartySetAccountInfoRequest (Maybe Bool)

-- | The local ID of the user.
irpsairLocalId :: Lens' IdentitytoolkitRelyingPartySetAccountInfoRequest (Maybe Text)

-- | The GITKit token of the authenticated user.
irpsairIdToken :: Lens' IdentitytoolkitRelyingPartySetAccountInfoRequest (Maybe Text)

-- | The associated IDPs of the user.
irpsairProvider :: Lens' IdentitytoolkitRelyingPartySetAccountInfoRequest [Text]

-- | Request to verify the IDP assertion.
--   
--   <i>See:</i> <a>identitytoolkitRelyingPartyVerifyAssertionRequest</a>
--   smart constructor.
data IdentitytoolkitRelyingPartyVerifyAssertionRequest

-- | Creates a value of
--   <a>IdentitytoolkitRelyingPartyVerifyAssertionRequest</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>irpvarReturnIdpCredential</a></li>
--   <li><a>irpvarInstanceId</a></li>
--   <li><a>irpvarDelegatedProjectNumber</a></li>
--   <li><a>irpvarPostBody</a></li>
--   <li><a>irpvarReturnSecureToken</a></li>
--   <li><a>irpvarReturnRefreshToken</a></li>
--   <li><a>irpvarRequestURI</a></li>
--   <li><a>irpvarSessionId</a></li>
--   <li><a>irpvarIdToken</a></li>
--   <li><a>irpvarPendingIdToken</a></li>
--   </ul>
identitytoolkitRelyingPartyVerifyAssertionRequest :: IdentitytoolkitRelyingPartyVerifyAssertionRequest

-- | Whether return 200 and IDP credential rather than throw exception when
--   federated id is already linked.
irpvarReturnIdpCredential :: Lens' IdentitytoolkitRelyingPartyVerifyAssertionRequest (Maybe Bool)

-- | Instance id token of the app.
irpvarInstanceId :: Lens' IdentitytoolkitRelyingPartyVerifyAssertionRequest (Maybe Text)

-- | GCP project number of the requesting delegated app. Currently only
--   intended for Firebase V1 migration.
irpvarDelegatedProjectNumber :: Lens' IdentitytoolkitRelyingPartyVerifyAssertionRequest (Maybe Int64)

-- | The post body if the request is a HTTP POST.
irpvarPostBody :: Lens' IdentitytoolkitRelyingPartyVerifyAssertionRequest (Maybe Text)

-- | Whether return sts id token and refresh token instead of gitkit token.
irpvarReturnSecureToken :: Lens' IdentitytoolkitRelyingPartyVerifyAssertionRequest (Maybe Bool)

-- | Whether to return refresh tokens.
irpvarReturnRefreshToken :: Lens' IdentitytoolkitRelyingPartyVerifyAssertionRequest (Maybe Bool)

-- | The URI to which the IDP redirects the user back. It may contain
--   federated login result params added by the IDP.
irpvarRequestURI :: Lens' IdentitytoolkitRelyingPartyVerifyAssertionRequest (Maybe Text)

-- | Session ID, which should match the one in previous createAuthUri
--   request.
irpvarSessionId :: Lens' IdentitytoolkitRelyingPartyVerifyAssertionRequest (Maybe Text)

-- | The GITKit token of the authenticated user.
irpvarIdToken :: Lens' IdentitytoolkitRelyingPartyVerifyAssertionRequest (Maybe Text)

-- | The GITKit token for the non-trusted IDP pending to be confirmed by
--   the user.
irpvarPendingIdToken :: Lens' IdentitytoolkitRelyingPartyVerifyAssertionRequest (Maybe Text)

-- | Respone of deleting account.
--   
--   <i>See:</i> <a>deleteAccountResponse</a> smart constructor.
data DeleteAccountResponse

-- | Creates a value of <a>DeleteAccountResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>darKind</a></li>
--   </ul>
deleteAccountResponse :: DeleteAccountResponse

-- | The fixed string "identitytoolkit#DeleteAccountResponse".
darKind :: Lens' DeleteAccountResponse Text

-- | Response of signing out user.
--   
--   <i>See:</i> <a>identitytoolkitRelyingPartySignOutUserResponse</a>
--   smart constructor.
data IdentitytoolkitRelyingPartySignOutUserResponse

-- | Creates a value of
--   <a>IdentitytoolkitRelyingPartySignOutUserResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>irpsourLocalId</a></li>
--   </ul>
identitytoolkitRelyingPartySignOutUserResponse :: IdentitytoolkitRelyingPartySignOutUserResponse

-- | The local ID of the user.
irpsourLocalId :: Lens' IdentitytoolkitRelyingPartySignOutUserResponse (Maybe Text)

-- | Respone of downloading accounts in batch.
--   
--   <i>See:</i> <a>downloadAccountResponse</a> smart constructor.
data DownloadAccountResponse

-- | Creates a value of <a>DownloadAccountResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dNextPageToken</a></li>
--   <li><a>dUsers</a></li>
--   <li><a>dKind</a></li>
--   </ul>
downloadAccountResponse :: DownloadAccountResponse

-- | The next page token. To be used in a subsequent request to return the
--   next page of results.
dNextPageToken :: Lens' DownloadAccountResponse (Maybe Text)

-- | The user accounts data.
dUsers :: Lens' DownloadAccountResponse [UserInfo]

-- | The fixed string "identitytoolkit#DownloadAccountResponse".
dKind :: Lens' DownloadAccountResponse Text

-- | Response of getting the project configuration.
--   
--   <i>See:</i> <a>identitytoolkitRelyingPartyGetProjectConfigResponse</a>
--   smart constructor.
data IdentitytoolkitRelyingPartyGetProjectConfigResponse

-- | Creates a value of
--   <a>IdentitytoolkitRelyingPartyGetProjectConfigResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>irpgpcrAuthorizedDomains</a></li>
--   <li><a>irpgpcrAPIKey</a></li>
--   <li><a>irpgpcrIdpConfig</a></li>
--   <li><a>irpgpcrChangeEmailTemplate</a></li>
--   <li><a>irpgpcrVerifyEmailTemplate</a></li>
--   <li><a>irpgpcrEnableAnonymousUser</a></li>
--   <li><a>irpgpcrLegacyResetPasswordTemplate</a></li>
--   <li><a>irpgpcrAllowPasswordUser</a></li>
--   <li><a>irpgpcrResetPasswordTemplate</a></li>
--   <li><a>irpgpcrProjectId</a></li>
--   <li><a>irpgpcrUseEmailSending</a></li>
--   <li><a>irpgpcrDynamicLinksDomain</a></li>
--   </ul>
identitytoolkitRelyingPartyGetProjectConfigResponse :: IdentitytoolkitRelyingPartyGetProjectConfigResponse

-- | Authorized domains.
irpgpcrAuthorizedDomains :: Lens' IdentitytoolkitRelyingPartyGetProjectConfigResponse [Text]

-- | Browser API key, needed when making http request to Apiary.
irpgpcrAPIKey :: Lens' IdentitytoolkitRelyingPartyGetProjectConfigResponse (Maybe Text)

-- | OAuth2 provider configuration.
irpgpcrIdpConfig :: Lens' IdentitytoolkitRelyingPartyGetProjectConfigResponse [IdpConfig]

-- | Change email template.
irpgpcrChangeEmailTemplate :: Lens' IdentitytoolkitRelyingPartyGetProjectConfigResponse (Maybe EmailTemplate)

-- | Verify email template.
irpgpcrVerifyEmailTemplate :: Lens' IdentitytoolkitRelyingPartyGetProjectConfigResponse (Maybe EmailTemplate)

-- | Whether anonymous user is enabled.
irpgpcrEnableAnonymousUser :: Lens' IdentitytoolkitRelyingPartyGetProjectConfigResponse (Maybe Bool)

-- | Legacy reset password email template.
irpgpcrLegacyResetPasswordTemplate :: Lens' IdentitytoolkitRelyingPartyGetProjectConfigResponse (Maybe EmailTemplate)

-- | Whether to allow password user sign in or sign up.
irpgpcrAllowPasswordUser :: Lens' IdentitytoolkitRelyingPartyGetProjectConfigResponse (Maybe Bool)

-- | Reset password email template.
irpgpcrResetPasswordTemplate :: Lens' IdentitytoolkitRelyingPartyGetProjectConfigResponse (Maybe EmailTemplate)

-- | Project ID of the relying party.
irpgpcrProjectId :: Lens' IdentitytoolkitRelyingPartyGetProjectConfigResponse (Maybe Text)

-- | Whether to use email sending provided by Firebear.
irpgpcrUseEmailSending :: Lens' IdentitytoolkitRelyingPartyGetProjectConfigResponse (Maybe Bool)
irpgpcrDynamicLinksDomain :: Lens' IdentitytoolkitRelyingPartyGetProjectConfigResponse (Maybe Text)

-- | Response of resetting the password.
--   
--   <i>See:</i> <a>resetPasswordResponse</a> smart constructor.
data ResetPasswordResponse

-- | Creates a value of <a>ResetPasswordResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rprEmail</a></li>
--   <li><a>rprKind</a></li>
--   <li><a>rprRequestType</a></li>
--   <li><a>rprNewEmail</a></li>
--   </ul>
resetPasswordResponse :: ResetPasswordResponse

-- | The user's email. If the out-of-band code is for email recovery, the
--   user's original email.
rprEmail :: Lens' ResetPasswordResponse (Maybe Text)

-- | The fixed string "identitytoolkit#ResetPasswordResponse".
rprKind :: Lens' ResetPasswordResponse Text

-- | The request type.
rprRequestType :: Lens' ResetPasswordResponse (Maybe Text)

-- | If the out-of-band code is for email recovery, the user's new email.
rprNewEmail :: Lens' ResetPasswordResponse (Maybe Text)

-- | Respone of uploading accounts in batch.
--   
--   <i>See:</i> <a>uploadAccountResponse</a> smart constructor.
data UploadAccountResponse

-- | Creates a value of <a>UploadAccountResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>uarKind</a></li>
--   <li><a>uarError</a></li>
--   </ul>
uploadAccountResponse :: UploadAccountResponse

-- | The fixed string "identitytoolkit#UploadAccountResponse".
uarKind :: Lens' UploadAccountResponse Text

-- | The error encountered while processing the account info.
uarError :: Lens' UploadAccountResponse [UploadAccountResponseErrorItem]

-- | Response of creating the IDP authentication URL.
--   
--   <i>See:</i> <a>createAuthURIResponse</a> smart constructor.
data CreateAuthURIResponse

-- | Creates a value of <a>CreateAuthURIResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>caurProviderId</a></li>
--   <li><a>caurKind</a></li>
--   <li><a>caurAllProviders</a></li>
--   <li><a>caurAuthURI</a></li>
--   <li><a>caurCaptchaRequired</a></li>
--   <li><a>caurRegistered</a></li>
--   <li><a>caurSessionId</a></li>
--   <li><a>caurForExistingProvider</a></li>
--   </ul>
createAuthURIResponse :: CreateAuthURIResponse

-- | The provider ID of the auth URI.
caurProviderId :: Lens' CreateAuthURIResponse (Maybe Text)

-- | The fixed string identitytoolkit#CreateAuthUriResponse".
caurKind :: Lens' CreateAuthURIResponse Text

-- | all providers the user has once used to do federated login
caurAllProviders :: Lens' CreateAuthURIResponse [Text]

-- | The URI used by the IDP to authenticate the user.
caurAuthURI :: Lens' CreateAuthURIResponse (Maybe Text)

-- | True if captcha is required.
caurCaptchaRequired :: Lens' CreateAuthURIResponse (Maybe Bool)

-- | Whether the user is registered if the identifier is an email.
caurRegistered :: Lens' CreateAuthURIResponse (Maybe Bool)

-- | Session ID which should be passed in the following verifyAssertion
--   request.
caurSessionId :: Lens' CreateAuthURIResponse (Maybe Text)

-- | True if the authUri is for user's existing provider.
caurForExistingProvider :: Lens' CreateAuthURIResponse (Maybe Bool)

-- | Respone of getting public keys.
--   
--   <i>See:</i> <a>identitytoolkitRelyingPartyGetPublicKeysResponse</a>
--   smart constructor.
data IdentitytoolkitRelyingPartyGetPublicKeysResponse

-- | Creates a value of
--   <a>IdentitytoolkitRelyingPartyGetPublicKeysResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>irpgpkrAddtional</a></li>
--   </ul>
identitytoolkitRelyingPartyGetPublicKeysResponse :: HashMap Text Text -> IdentitytoolkitRelyingPartyGetPublicKeysResponse
irpgpkrAddtional :: Lens' IdentitytoolkitRelyingPartyGetPublicKeysResponse (HashMap Text Text)

-- | Request of getting a code for user confirmation (reset password,
--   change email etc.)
--   
--   <i>See:</i> <a>relyingParty</a> smart constructor.
data RelyingParty

-- | Creates a value of <a>RelyingParty</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rpEmail</a></li>
--   <li><a>rpKind</a></li>
--   <li><a>rpUserIP</a></li>
--   <li><a>rpRequestType</a></li>
--   <li><a>rpCaptchaResp</a></li>
--   <li><a>rpNewEmail</a></li>
--   <li><a>rpChallenge</a></li>
--   <li><a>rpIdToken</a></li>
--   </ul>
relyingParty :: RelyingParty

-- | The email of the user.
rpEmail :: Lens' RelyingParty (Maybe Text)

-- | The fixed string "identitytoolkit#relyingparty".
rpKind :: Lens' RelyingParty Text

-- | The IP address of the user.
rpUserIP :: Lens' RelyingParty (Maybe Text)

-- | The request type.
rpRequestType :: Lens' RelyingParty (Maybe Text)

-- | The recaptcha response from the user.
rpCaptchaResp :: Lens' RelyingParty (Maybe Text)

-- | The new email if the code is for email change.
rpNewEmail :: Lens' RelyingParty (Maybe Text)

-- | The recaptcha challenge presented to the user.
rpChallenge :: Lens' RelyingParty (Maybe Text)

-- | The user's Gitkit login token for email change.
rpIdToken :: Lens' RelyingParty (Maybe Text)

-- | Request to get the account information.
--   
--   <i>See:</i> <a>identitytoolkitRelyingPartyGetAccountInfoRequest</a>
--   smart constructor.
data IdentitytoolkitRelyingPartyGetAccountInfoRequest

-- | Creates a value of
--   <a>IdentitytoolkitRelyingPartyGetAccountInfoRequest</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>irpgairEmail</a></li>
--   <li><a>irpgairDelegatedProjectNumber</a></li>
--   <li><a>irpgairLocalId</a></li>
--   <li><a>irpgairIdToken</a></li>
--   </ul>
identitytoolkitRelyingPartyGetAccountInfoRequest :: IdentitytoolkitRelyingPartyGetAccountInfoRequest

-- | The list of emails of the users to inquiry.
irpgairEmail :: Lens' IdentitytoolkitRelyingPartyGetAccountInfoRequest [Text]

-- | GCP project number of the requesting delegated app. Currently only
--   intended for Firebase V1 migration.
irpgairDelegatedProjectNumber :: Lens' IdentitytoolkitRelyingPartyGetAccountInfoRequest (Maybe Int64)

-- | The list of local ID's of the users to inquiry.
irpgairLocalId :: Lens' IdentitytoolkitRelyingPartyGetAccountInfoRequest [Text]

-- | The GITKit token of the authenticated user.
irpgairIdToken :: Lens' IdentitytoolkitRelyingPartyGetAccountInfoRequest (Maybe Text)

-- | Template for an email template.
--   
--   <i>See:</i> <a>emailTemplate</a> smart constructor.
data EmailTemplate

-- | Creates a value of <a>EmailTemplate</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>etSubject</a></li>
--   <li><a>etBody</a></li>
--   <li><a>etFormat</a></li>
--   <li><a>etFromDisplayName</a></li>
--   <li><a>etFrom</a></li>
--   <li><a>etReplyTo</a></li>
--   </ul>
emailTemplate :: EmailTemplate

-- | Subject of the email.
etSubject :: Lens' EmailTemplate (Maybe Text)

-- | Email body.
etBody :: Lens' EmailTemplate (Maybe Text)

-- | Email body format.
etFormat :: Lens' EmailTemplate (Maybe Text)

-- | From display name.
etFromDisplayName :: Lens' EmailTemplate (Maybe Text)

-- | From address of the email.
etFrom :: Lens' EmailTemplate (Maybe Text)

-- | Reply-to address.
etReplyTo :: Lens' EmailTemplate (Maybe Text)

-- | Request to upload user account in batch.
--   
--   <i>See:</i> <a>identitytoolkitRelyingPartyUploadAccountRequest</a>
--   smart constructor.
data IdentitytoolkitRelyingPartyUploadAccountRequest

-- | Creates a value of
--   <a>IdentitytoolkitRelyingPartyUploadAccountRequest</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>irpuarUsers</a></li>
--   <li><a>irpuarMemoryCost</a></li>
--   <li><a>irpuarAllowOverwrite</a></li>
--   <li><a>irpuarDelegatedProjectNumber</a></li>
--   <li><a>irpuarSanityCheck</a></li>
--   <li><a>irpuarSaltSeparator</a></li>
--   <li><a>irpuarHashAlgorithm</a></li>
--   <li><a>irpuarSignerKey</a></li>
--   <li><a>irpuarRounds</a></li>
--   <li><a>irpuarTargetProjectId</a></li>
--   </ul>
identitytoolkitRelyingPartyUploadAccountRequest :: IdentitytoolkitRelyingPartyUploadAccountRequest

-- | The account info to be stored.
irpuarUsers :: Lens' IdentitytoolkitRelyingPartyUploadAccountRequest [UserInfo]

-- | Memory cost for hash calculation. Used by scrypt similar algorithms.
irpuarMemoryCost :: Lens' IdentitytoolkitRelyingPartyUploadAccountRequest (Maybe Int32)

-- | Whether allow overwrite existing account when user local_id exists.
irpuarAllowOverwrite :: Lens' IdentitytoolkitRelyingPartyUploadAccountRequest (Maybe Bool)

-- | GCP project number of the requesting delegated app. Currently only
--   intended for Firebase V1 migration.
irpuarDelegatedProjectNumber :: Lens' IdentitytoolkitRelyingPartyUploadAccountRequest (Maybe Int64)

-- | If true, backend will do sanity check(including duplicate email and
--   federated id) when uploading account.
irpuarSanityCheck :: Lens' IdentitytoolkitRelyingPartyUploadAccountRequest (Maybe Bool)

-- | The salt separator.
irpuarSaltSeparator :: Lens' IdentitytoolkitRelyingPartyUploadAccountRequest (Maybe ByteString)

-- | The password hash algorithm.
irpuarHashAlgorithm :: Lens' IdentitytoolkitRelyingPartyUploadAccountRequest (Maybe Text)

-- | The key for to hash the password.
irpuarSignerKey :: Lens' IdentitytoolkitRelyingPartyUploadAccountRequest (Maybe ByteString)

-- | Rounds for hash calculation. Used by scrypt and similar algorithms.
irpuarRounds :: Lens' IdentitytoolkitRelyingPartyUploadAccountRequest (Maybe Int32)

-- | Specify which project (field value is actually project id) to operate.
--   Only used when provided credential.
irpuarTargetProjectId :: Lens' IdentitytoolkitRelyingPartyUploadAccountRequest (Maybe Text)

-- | Request to reset the password.
--   
--   <i>See:</i> <a>identitytoolkitRelyingPartyResetPasswordRequest</a>
--   smart constructor.
data IdentitytoolkitRelyingPartyResetPasswordRequest

-- | Creates a value of
--   <a>IdentitytoolkitRelyingPartyResetPasswordRequest</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>irprprEmail</a></li>
--   <li><a>irprprNewPassword</a></li>
--   <li><a>irprprOOBCode</a></li>
--   <li><a>irprprOldPassword</a></li>
--   </ul>
identitytoolkitRelyingPartyResetPasswordRequest :: IdentitytoolkitRelyingPartyResetPasswordRequest

-- | The email address of the user.
irprprEmail :: Lens' IdentitytoolkitRelyingPartyResetPasswordRequest (Maybe Text)

-- | The new password inputted by the user.
irprprNewPassword :: Lens' IdentitytoolkitRelyingPartyResetPasswordRequest (Maybe Text)

-- | The confirmation code.
irprprOOBCode :: Lens' IdentitytoolkitRelyingPartyResetPasswordRequest (Maybe Text)

-- | The old password inputted by the user.
irprprOldPassword :: Lens' IdentitytoolkitRelyingPartyResetPasswordRequest (Maybe Text)

-- | Request to get the IDP authentication URL.
--   
--   <i>See:</i> <a>identitytoolkitRelyingPartyCreateAuthURIRequest</a>
--   smart constructor.
data IdentitytoolkitRelyingPartyCreateAuthURIRequest

-- | Creates a value of
--   <a>IdentitytoolkitRelyingPartyCreateAuthURIRequest</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>irpcaurProviderId</a></li>
--   <li><a>irpcaurClientId</a></li>
--   <li><a>irpcaurContext</a></li>
--   <li><a>irpcaurCustomParameter</a></li>
--   <li><a>irpcaurIdentifier</a></li>
--   <li><a>irpcaurOtaApp</a></li>
--   <li><a>irpcaurOAuthConsumerKey</a></li>
--   <li><a>irpcaurHostedDomain</a></li>
--   <li><a>irpcaurAppId</a></li>
--   <li><a>irpcaurContinueURI</a></li>
--   <li><a>irpcaurAuthFlowType</a></li>
--   <li><a>irpcaurOAuthScope</a></li>
--   <li><a>irpcaurSessionId</a></li>
--   <li><a>irpcaurOpenidRealm</a></li>
--   </ul>
identitytoolkitRelyingPartyCreateAuthURIRequest :: IdentitytoolkitRelyingPartyCreateAuthURIRequest

-- | The IdP ID. For white listed IdPs it's a short domain name e.g.
--   google.com, aol.com, live.net and yahoo.com. For other OpenID IdPs
--   it's the OP identifier.
irpcaurProviderId :: Lens' IdentitytoolkitRelyingPartyCreateAuthURIRequest (Maybe Text)

-- | The relying party OAuth client ID.
irpcaurClientId :: Lens' IdentitytoolkitRelyingPartyCreateAuthURIRequest (Maybe Text)

-- | The opaque value used by the client to maintain context info between
--   the authentication request and the IDP callback.
irpcaurContext :: Lens' IdentitytoolkitRelyingPartyCreateAuthURIRequest (Maybe Text)

-- | The query parameter that client can customize by themselves in auth
--   url. The following parameters are reserved for server so that they
--   cannot be customized by clients: client_id, response_type, scope,
--   redirect_uri, state, oauth_token.
irpcaurCustomParameter :: Lens' IdentitytoolkitRelyingPartyCreateAuthURIRequest (Maybe IdentitytoolkitRelyingPartyCreateAuthURIRequestCustomParameter)

-- | The email or federated ID of the user.
irpcaurIdentifier :: Lens' IdentitytoolkitRelyingPartyCreateAuthURIRequest (Maybe Text)

-- | The native app package for OTA installation.
irpcaurOtaApp :: Lens' IdentitytoolkitRelyingPartyCreateAuthURIRequest (Maybe Text)

-- | The developer's consumer key for OpenId OAuth Extension
irpcaurOAuthConsumerKey :: Lens' IdentitytoolkitRelyingPartyCreateAuthURIRequest (Maybe Text)

-- | The hosted domain to restrict sign-in to accounts at that domain for
--   Google Apps hosted accounts.
irpcaurHostedDomain :: Lens' IdentitytoolkitRelyingPartyCreateAuthURIRequest (Maybe Text)

-- | The app ID of the mobile app, base64(CERT_SHA1):PACKAGE_NAME for
--   Android, BUNDLE_ID for iOS.
irpcaurAppId :: Lens' IdentitytoolkitRelyingPartyCreateAuthURIRequest (Maybe Text)

-- | The URI to which the IDP redirects the user after the federated login
--   flow.
irpcaurContinueURI :: Lens' IdentitytoolkitRelyingPartyCreateAuthURIRequest (Maybe Text)

-- | Explicitly specify the auth flow type. Currently only support
--   "CODE_FLOW" type. The field is only used for Google provider.
irpcaurAuthFlowType :: Lens' IdentitytoolkitRelyingPartyCreateAuthURIRequest (Maybe Text)

-- | Additional oauth scopes, beyond the basid user profile, that the user
--   would be prompted to grant
irpcaurOAuthScope :: Lens' IdentitytoolkitRelyingPartyCreateAuthURIRequest (Maybe Text)

-- | The session_id passed by client.
irpcaurSessionId :: Lens' IdentitytoolkitRelyingPartyCreateAuthURIRequest (Maybe Text)

-- | Optional realm for OpenID protocol. The sub string
--   "scheme://domain:port" of the param "continueUri" is used if this is
--   not set.
irpcaurOpenidRealm :: Lens' IdentitytoolkitRelyingPartyCreateAuthURIRequest (Maybe Text)

-- | Response of getting account information.
--   
--   <i>See:</i> <a>getAccountInfoResponse</a> smart constructor.
data GetAccountInfoResponse

-- | Creates a value of <a>GetAccountInfoResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>gairUsers</a></li>
--   <li><a>gairKind</a></li>
--   </ul>
getAccountInfoResponse :: GetAccountInfoResponse

-- | The info of the users.
gairUsers :: Lens' GetAccountInfoResponse [UserInfo]

-- | The fixed string "identitytoolkit#GetAccountInfoResponse".
gairKind :: Lens' GetAccountInfoResponse Text

-- | Request to delete account.
--   
--   <i>See:</i> <a>identitytoolkitRelyingPartyDeleteAccountRequest</a>
--   smart constructor.
data IdentitytoolkitRelyingPartyDeleteAccountRequest

-- | Creates a value of
--   <a>IdentitytoolkitRelyingPartyDeleteAccountRequest</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>irpdarDelegatedProjectNumber</a></li>
--   <li><a>irpdarLocalId</a></li>
--   <li><a>irpdarIdToken</a></li>
--   </ul>
identitytoolkitRelyingPartyDeleteAccountRequest :: IdentitytoolkitRelyingPartyDeleteAccountRequest

-- | GCP project number of the requesting delegated app. Currently only
--   intended for Firebase V1 migration.
irpdarDelegatedProjectNumber :: Lens' IdentitytoolkitRelyingPartyDeleteAccountRequest (Maybe Int64)

-- | The local ID of the user.
irpdarLocalId :: Lens' IdentitytoolkitRelyingPartyDeleteAccountRequest (Maybe Text)

-- | The GITKit token or STS id token of the authenticated user.
irpdarIdToken :: Lens' IdentitytoolkitRelyingPartyDeleteAccountRequest (Maybe Text)

-- | Response of getting a code for user confirmation (reset password,
--   change email etc.).
--   
--   <i>See:</i> <a>getOOBConfirmationCodeResponse</a> smart constructor.
data GetOOBConfirmationCodeResponse

-- | Creates a value of <a>GetOOBConfirmationCodeResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>goobccrEmail</a></li>
--   <li><a>goobccrKind</a></li>
--   <li><a>goobccrOOBCode</a></li>
--   </ul>
getOOBConfirmationCodeResponse :: GetOOBConfirmationCodeResponse

-- | The email address that the email is sent to.
goobccrEmail :: Lens' GetOOBConfirmationCodeResponse (Maybe Text)

-- | The fixed string "identitytoolkit#GetOobConfirmationCodeResponse".
goobccrKind :: Lens' GetOOBConfirmationCodeResponse Text

-- | The code to be send to the user.
goobccrOOBCode :: Lens' GetOOBConfirmationCodeResponse (Maybe Text)

-- | Request to download user account in batch.
--   
--   <i>See:</i> <a>identitytoolkitRelyingPartyDownloadAccountRequest</a>
--   smart constructor.
data IdentitytoolkitRelyingPartyDownloadAccountRequest

-- | Creates a value of
--   <a>IdentitytoolkitRelyingPartyDownloadAccountRequest</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>iNextPageToken</a></li>
--   <li><a>iDelegatedProjectNumber</a></li>
--   <li><a>iMaxResults</a></li>
--   <li><a>iTargetProjectId</a></li>
--   </ul>
identitytoolkitRelyingPartyDownloadAccountRequest :: IdentitytoolkitRelyingPartyDownloadAccountRequest

-- | The token for the next page. This should be taken from the previous
--   response.
iNextPageToken :: Lens' IdentitytoolkitRelyingPartyDownloadAccountRequest (Maybe Text)

-- | GCP project number of the requesting delegated app. Currently only
--   intended for Firebase V1 migration.
iDelegatedProjectNumber :: Lens' IdentitytoolkitRelyingPartyDownloadAccountRequest (Maybe Int64)

-- | The max number of results to return in the response.
iMaxResults :: Lens' IdentitytoolkitRelyingPartyDownloadAccountRequest (Maybe Word32)

-- | Specify which project (field value is actually project id) to operate.
--   Only used when provided credential.
iTargetProjectId :: Lens' IdentitytoolkitRelyingPartyDownloadAccountRequest (Maybe Text)

-- | Request of verifying the password.
--   
--   <i>See:</i> <a>verifyPasswordResponse</a> smart constructor.
data VerifyPasswordResponse

-- | Creates a value of <a>VerifyPasswordResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>vprEmail</a></li>
--   <li><a>vprPhotoURL</a></li>
--   <li><a>vprOAuthAccessToken</a></li>
--   <li><a>vprKind</a></li>
--   <li><a>vprOAuthExpireIn</a></li>
--   <li><a>vprRefreshToken</a></li>
--   <li><a>vprExpiresIn</a></li>
--   <li><a>vprDisplayName</a></li>
--   <li><a>vprLocalId</a></li>
--   <li><a>vprRegistered</a></li>
--   <li><a>vprIdToken</a></li>
--   <li><a>vprOAuthAuthorizationCode</a></li>
--   </ul>
verifyPasswordResponse :: VerifyPasswordResponse

-- | The email returned by the IdP. NOTE: The federated login user may not
--   own the email.
vprEmail :: Lens' VerifyPasswordResponse (Maybe Text)

-- | The URI of the user's photo at IdP
vprPhotoURL :: Lens' VerifyPasswordResponse (Maybe Text)

-- | The OAuth2 access token.
vprOAuthAccessToken :: Lens' VerifyPasswordResponse (Maybe Text)

-- | The fixed string "identitytoolkit#VerifyPasswordResponse".
vprKind :: Lens' VerifyPasswordResponse Text

-- | The lifetime in seconds of the OAuth2 access token.
vprOAuthExpireIn :: Lens' VerifyPasswordResponse (Maybe Int32)

-- | If idToken is STS id token, then this field will be refresh token.
vprRefreshToken :: Lens' VerifyPasswordResponse (Maybe Text)

-- | If idToken is STS id token, then this field will be expiration time of
--   STS id token in seconds.
vprExpiresIn :: Lens' VerifyPasswordResponse (Maybe Int64)

-- | The name of the user.
vprDisplayName :: Lens' VerifyPasswordResponse (Maybe Text)

-- | The RP local ID if it's already been mapped to the IdP account
--   identified by the federated ID.
vprLocalId :: Lens' VerifyPasswordResponse (Maybe Text)

-- | Whether the email is registered.
vprRegistered :: Lens' VerifyPasswordResponse (Maybe Bool)

-- | The GITKit token for authenticated user.
vprIdToken :: Lens' VerifyPasswordResponse (Maybe Text)

-- | The OAuth2 authorization code.
vprOAuthAuthorizationCode :: Lens' VerifyPasswordResponse (Maybe Text)

-- | Respone of setting the account information.
--   
--   <i>See:</i> <a>setAccountInfoResponse</a> smart constructor.
data SetAccountInfoResponse

-- | Creates a value of <a>SetAccountInfoResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>sairEmail</a></li>
--   <li><a>sairPhotoURL</a></li>
--   <li><a>sairKind</a></li>
--   <li><a>sairRefreshToken</a></li>
--   <li><a>sairProviderUserInfo</a></li>
--   <li><a>sairExpiresIn</a></li>
--   <li><a>sairDisplayName</a></li>
--   <li><a>sairPasswordHash</a></li>
--   <li><a>sairLocalId</a></li>
--   <li><a>sairNewEmail</a></li>
--   <li><a>sairIdToken</a></li>
--   </ul>
setAccountInfoResponse :: SetAccountInfoResponse

-- | The email of the user.
sairEmail :: Lens' SetAccountInfoResponse (Maybe Text)

-- | The photo url of the user.
sairPhotoURL :: Lens' SetAccountInfoResponse (Maybe Text)

-- | The fixed string "identitytoolkit#SetAccountInfoResponse".
sairKind :: Lens' SetAccountInfoResponse Text

-- | If idToken is STS id token, then this field will be refresh token.
sairRefreshToken :: Lens' SetAccountInfoResponse (Maybe Text)

-- | The user's profiles at the associated IdPs.
sairProviderUserInfo :: Lens' SetAccountInfoResponse [SetAccountInfoResponseProviderUserInfoItem]

-- | If idToken is STS id token, then this field will be expiration time of
--   STS id token in seconds.
sairExpiresIn :: Lens' SetAccountInfoResponse (Maybe Int64)

-- | The name of the user.
sairDisplayName :: Lens' SetAccountInfoResponse (Maybe Text)

-- | The user's hashed password.
sairPasswordHash :: Lens' SetAccountInfoResponse (Maybe ByteString)

-- | The local ID of the user.
sairLocalId :: Lens' SetAccountInfoResponse (Maybe Text)

-- | The new email the user attempts to change to.
sairNewEmail :: Lens' SetAccountInfoResponse (Maybe Text)

-- | The Gitkit id token to login the newly sign up user.
sairIdToken :: Lens' SetAccountInfoResponse (Maybe Text)

-- | Request to signup new user, create anonymous user or anonymous user
--   reauth.
--   
--   <i>See:</i> <a>identitytoolkitRelyingPartySignupNewUserRequest</a>
--   smart constructor.
data IdentitytoolkitRelyingPartySignupNewUserRequest

-- | Creates a value of
--   <a>IdentitytoolkitRelyingPartySignupNewUserRequest</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>irpsnurEmail</a></li>
--   <li><a>irpsnurInstanceId</a></li>
--   <li><a>irpsnurPhotoURL</a></li>
--   <li><a>irpsnurCaptchaChallenge</a></li>
--   <li><a>irpsnurDisabled</a></li>
--   <li><a>irpsnurPassword</a></li>
--   <li><a>irpsnurCaptchaResponse</a></li>
--   <li><a>irpsnurEmailVerified</a></li>
--   <li><a>irpsnurDisplayName</a></li>
--   <li><a>irpsnurIdToken</a></li>
--   </ul>
identitytoolkitRelyingPartySignupNewUserRequest :: IdentitytoolkitRelyingPartySignupNewUserRequest

-- | The email of the user.
irpsnurEmail :: Lens' IdentitytoolkitRelyingPartySignupNewUserRequest (Maybe Text)

-- | Instance id token of the app.
irpsnurInstanceId :: Lens' IdentitytoolkitRelyingPartySignupNewUserRequest (Maybe Text)

-- | The photo url of the user.
irpsnurPhotoURL :: Lens' IdentitytoolkitRelyingPartySignupNewUserRequest (Maybe Text)

-- | The captcha challenge.
irpsnurCaptchaChallenge :: Lens' IdentitytoolkitRelyingPartySignupNewUserRequest (Maybe Text)

-- | Whether to disable the user. Only can be used by service account.
irpsnurDisabled :: Lens' IdentitytoolkitRelyingPartySignupNewUserRequest (Maybe Bool)

-- | The new password of the user.
irpsnurPassword :: Lens' IdentitytoolkitRelyingPartySignupNewUserRequest (Maybe Text)

-- | Response to the captcha.
irpsnurCaptchaResponse :: Lens' IdentitytoolkitRelyingPartySignupNewUserRequest (Maybe Text)

-- | Mark the email as verified or not. Only can be used by service
--   account.
irpsnurEmailVerified :: Lens' IdentitytoolkitRelyingPartySignupNewUserRequest (Maybe Bool)

-- | The name of the user.
irpsnurDisplayName :: Lens' IdentitytoolkitRelyingPartySignupNewUserRequest (Maybe Text)

-- | The GITKit token of the authenticated user.
irpsnurIdToken :: Lens' IdentitytoolkitRelyingPartySignupNewUserRequest (Maybe Text)

-- | Response of verifying the IDP assertion.
--   
--   <i>See:</i> <a>verifyAssertionResponse</a> smart constructor.
data VerifyAssertionResponse

-- | Creates a value of <a>VerifyAssertionResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>varProviderId</a></li>
--   <li><a>varFullName</a></li>
--   <li><a>varEmail</a></li>
--   <li><a>varEmailRecycled</a></li>
--   <li><a>varPhotoURL</a></li>
--   <li><a>varVerifiedProvider</a></li>
--   <li><a>varContext</a></li>
--   <li><a>varNeedConfirmation</a></li>
--   <li><a>varOriginalEmail</a></li>
--   <li><a>varLastName</a></li>
--   <li><a>varOAuthAccessToken</a></li>
--   <li><a>varDateOfBirth</a></li>
--   <li><a>varKind</a></li>
--   <li><a>varRawUserInfo</a></li>
--   <li><a>varOAuthExpireIn</a></li>
--   <li><a>varRefreshToken</a></li>
--   <li><a>varAppInstallationURL</a></li>
--   <li><a>varAction</a></li>
--   <li><a>varNeedEmail</a></li>
--   <li><a>varFederatedId</a></li>
--   <li><a>varOAuthIdToken</a></li>
--   <li><a>varAppScheme</a></li>
--   <li><a>varExpiresIn</a></li>
--   <li><a>varInputEmail</a></li>
--   <li><a>varEmailVerified</a></li>
--   <li><a>varOAuthTokenSecret</a></li>
--   <li><a>varLanguage</a></li>
--   <li><a>varFirstName</a></li>
--   <li><a>varDisplayName</a></li>
--   <li><a>varOAuthRequestToken</a></li>
--   <li><a>varOAuthScope</a></li>
--   <li><a>varNickName</a></li>
--   <li><a>varLocalId</a></li>
--   <li><a>varTimeZone</a></li>
--   <li><a>varScreenName</a></li>
--   <li><a>varErrorMessage</a></li>
--   <li><a>varIdToken</a></li>
--   <li><a>varOAuthAuthorizationCode</a></li>
--   </ul>
verifyAssertionResponse :: VerifyAssertionResponse

-- | The IdP ID. For white listed IdPs it's a short domain name e.g.
--   google.com, aol.com, live.net and yahoo.com. If the "providerId" param
--   is set to OpenID OP identifer other than the whilte listed IdPs the OP
--   identifier is returned. If the "identifier" param is federated ID in
--   the createAuthUri request. The domain part of the federated ID is
--   returned.
varProviderId :: Lens' VerifyAssertionResponse (Maybe Text)

-- | The full name of the user.
varFullName :: Lens' VerifyAssertionResponse (Maybe Text)

-- | The email returned by the IdP. NOTE: The federated login user may not
--   own the email.
varEmail :: Lens' VerifyAssertionResponse (Maybe Text)

-- | It's true if the email is recycled.
varEmailRecycled :: Lens' VerifyAssertionResponse (Maybe Bool)

-- | The URI of the public accessible profiel picture.
varPhotoURL :: Lens' VerifyAssertionResponse (Maybe Text)

-- | When action is 'map', contains the idps which can be used for
--   confirmation.
varVerifiedProvider :: Lens' VerifyAssertionResponse [Text]

-- | The opaque value used by the client to maintain context info between
--   the authentication request and the IDP callback.
varContext :: Lens' VerifyAssertionResponse (Maybe Text)

-- | Whether the assertion is from a non-trusted IDP and need account
--   linking confirmation.
varNeedConfirmation :: Lens' VerifyAssertionResponse (Maybe Bool)

-- | The original email stored in the mapping storage. It's returned when
--   the federated ID is associated to a different email.
varOriginalEmail :: Lens' VerifyAssertionResponse (Maybe Text)

-- | The last name of the user.
varLastName :: Lens' VerifyAssertionResponse (Maybe Text)

-- | The OAuth2 access token.
varOAuthAccessToken :: Lens' VerifyAssertionResponse (Maybe Text)

-- | The birth date of the IdP account.
varDateOfBirth :: Lens' VerifyAssertionResponse (Maybe Text)

-- | The fixed string "identitytoolkit#VerifyAssertionResponse".
varKind :: Lens' VerifyAssertionResponse Text

-- | Raw IDP-returned user info.
varRawUserInfo :: Lens' VerifyAssertionResponse (Maybe Text)

-- | The lifetime in seconds of the OAuth2 access token.
varOAuthExpireIn :: Lens' VerifyAssertionResponse (Maybe Int32)

-- | If idToken is STS id token, then this field will be refresh token.
varRefreshToken :: Lens' VerifyAssertionResponse (Maybe Text)

-- | URL for OTA app installation.
varAppInstallationURL :: Lens' VerifyAssertionResponse (Maybe Text)

-- | The action code.
varAction :: Lens' VerifyAssertionResponse (Maybe Text)

-- | Whether need client to supply email to complete the federated login
--   flow.
varNeedEmail :: Lens' VerifyAssertionResponse (Maybe Bool)

-- | The unique ID identifies the IdP account.
varFederatedId :: Lens' VerifyAssertionResponse (Maybe Text)

-- | The OIDC id token.
varOAuthIdToken :: Lens' VerifyAssertionResponse (Maybe Text)

-- | The custom scheme used by mobile app.
varAppScheme :: Lens' VerifyAssertionResponse (Maybe Text)

-- | If idToken is STS id token, then this field will be expiration time of
--   STS id token in seconds.
varExpiresIn :: Lens' VerifyAssertionResponse (Maybe Int64)

-- | It's the identifier param in the createAuthUri request if the
--   identifier is an email. It can be used to check whether the user input
--   email is different from the asserted email.
varInputEmail :: Lens' VerifyAssertionResponse (Maybe Text)

-- | The value is true if the IDP is also the email provider. It means the
--   user owns the email.
varEmailVerified :: Lens' VerifyAssertionResponse (Maybe Bool)

-- | The OAuth1 access token secret.
varOAuthTokenSecret :: Lens' VerifyAssertionResponse (Maybe Text)

-- | The language preference of the user.
varLanguage :: Lens' VerifyAssertionResponse (Maybe Text)

-- | The first name of the user.
varFirstName :: Lens' VerifyAssertionResponse (Maybe Text)

-- | The display name of the user.
varDisplayName :: Lens' VerifyAssertionResponse (Maybe Text)

-- | The user approved request token for the OpenID OAuth extension.
varOAuthRequestToken :: Lens' VerifyAssertionResponse (Maybe Text)

-- | The scope for the OpenID OAuth extension.
varOAuthScope :: Lens' VerifyAssertionResponse (Maybe Text)

-- | The nick name of the user.
varNickName :: Lens' VerifyAssertionResponse (Maybe Text)

-- | The RP local ID if it's already been mapped to the IdP account
--   identified by the federated ID.
varLocalId :: Lens' VerifyAssertionResponse (Maybe Text)

-- | The timezone of the user.
varTimeZone :: Lens' VerifyAssertionResponse (Maybe Text)

-- | The screen_name of a Twitter user or the login name at Github.
varScreenName :: Lens' VerifyAssertionResponse (Maybe Text)

-- | Client error code.
varErrorMessage :: Lens' VerifyAssertionResponse (Maybe Text)

-- | The ID token.
varIdToken :: Lens' VerifyAssertionResponse (Maybe Text)

-- | The OAuth2 authorization code.
varOAuthAuthorizationCode :: Lens' VerifyAssertionResponse (Maybe Text)

-- | Request to sign out user.
--   
--   <i>See:</i> <a>identitytoolkitRelyingPartySignOutUserRequest</a> smart
--   constructor.
data IdentitytoolkitRelyingPartySignOutUserRequest

-- | Creates a value of
--   <a>IdentitytoolkitRelyingPartySignOutUserRequest</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>iInstanceId</a></li>
--   <li><a>iLocalId</a></li>
--   </ul>
identitytoolkitRelyingPartySignOutUserRequest :: IdentitytoolkitRelyingPartySignOutUserRequest

-- | Instance id token of the app.
iInstanceId :: Lens' IdentitytoolkitRelyingPartySignOutUserRequest (Maybe Text)

-- | The local ID of the user.
iLocalId :: Lens' IdentitytoolkitRelyingPartySignOutUserRequest (Maybe Text)

-- | Response of getting recaptcha param.
--   
--   <i>See:</i> <a>getRecaptchaParamResponse</a> smart constructor.
data GetRecaptchaParamResponse

-- | Creates a value of <a>GetRecaptchaParamResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>grprRecaptchaSiteKey</a></li>
--   <li><a>grprKind</a></li>
--   <li><a>grprRecaptchaStoken</a></li>
--   </ul>
getRecaptchaParamResponse :: GetRecaptchaParamResponse

-- | Site key registered at recaptcha.
grprRecaptchaSiteKey :: Lens' GetRecaptchaParamResponse (Maybe Text)

-- | The fixed string "identitytoolkit#GetRecaptchaParamResponse".
grprKind :: Lens' GetRecaptchaParamResponse Text

-- | The stoken field for the recaptcha widget, used to request captcha
--   challenge.
grprRecaptchaStoken :: Lens' GetRecaptchaParamResponse (Maybe Text)
