# Copyright 2015 Google Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. require 'date' require 'google/apis/core/base_service' require 'google/apis/core/json_representation' require 'google/apis/core/hashable' require 'google/apis/errors' module Google module Apis module IdentitytoolkitV3 # Response of creating the IDP authentication URL. class CreateAuthUriResponse include Google::Apis::Core::Hashable # all providers the user has once used to do federated login # Corresponds to the JSON property `allProviders` # @return [Array] attr_accessor :all_providers # The URI used by the IDP to authenticate the user. # Corresponds to the JSON property `authUri` # @return [String] attr_accessor :auth_uri # True if captcha is required. # Corresponds to the JSON property `captchaRequired` # @return [Boolean] attr_accessor :captcha_required alias_method :captcha_required?, :captcha_required # True if the authUri is for user's existing provider. # Corresponds to the JSON property `forExistingProvider` # @return [Boolean] attr_accessor :for_existing_provider alias_method :for_existing_provider?, :for_existing_provider # The fixed string identitytoolkit#CreateAuthUriResponse". # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # The provider ID of the auth URI. # Corresponds to the JSON property `providerId` # @return [String] attr_accessor :provider_id # Whether the user is registered if the identifier is an email. # Corresponds to the JSON property `registered` # @return [Boolean] attr_accessor :registered alias_method :registered?, :registered # Session ID which should be passed in the following verifyAssertion request. # Corresponds to the JSON property `sessionId` # @return [String] attr_accessor :session_id # All sign-in methods this user has used. # Corresponds to the JSON property `signinMethods` # @return [Array] attr_accessor :signin_methods def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @all_providers = args[:all_providers] if args.key?(:all_providers) @auth_uri = args[:auth_uri] if args.key?(:auth_uri) @captcha_required = args[:captcha_required] if args.key?(:captcha_required) @for_existing_provider = args[:for_existing_provider] if args.key?(:for_existing_provider) @kind = args[:kind] if args.key?(:kind) @provider_id = args[:provider_id] if args.key?(:provider_id) @registered = args[:registered] if args.key?(:registered) @session_id = args[:session_id] if args.key?(:session_id) @signin_methods = args[:signin_methods] if args.key?(:signin_methods) end end # Respone of deleting account. class DeleteAccountResponse include Google::Apis::Core::Hashable # The fixed string "identitytoolkit#DeleteAccountResponse". # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @kind = args[:kind] if args.key?(:kind) end end # Response of downloading accounts in batch. class DownloadAccountResponse include Google::Apis::Core::Hashable # The fixed string "identitytoolkit#DownloadAccountResponse". # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # The next page token. To be used in a subsequent request to return the next # page of results. # Corresponds to the JSON property `nextPageToken` # @return [String] attr_accessor :next_page_token # The user accounts data. # Corresponds to the JSON property `users` # @return [Array] attr_accessor :users def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @kind = args[:kind] if args.key?(:kind) @next_page_token = args[:next_page_token] if args.key?(:next_page_token) @users = args[:users] if args.key?(:users) end end # Response of email signIn. class EmailLinkSigninResponse include Google::Apis::Core::Hashable # The user's email. # Corresponds to the JSON property `email` # @return [String] attr_accessor :email # Expiration time of STS id token in seconds. # Corresponds to the JSON property `expiresIn` # @return [Fixnum] attr_accessor :expires_in # The STS id token to login the newly signed in user. # Corresponds to the JSON property `idToken` # @return [String] attr_accessor :id_token # Whether the user is new. # Corresponds to the JSON property `isNewUser` # @return [Boolean] attr_accessor :is_new_user alias_method :is_new_user?, :is_new_user # The fixed string "identitytoolkit#EmailLinkSigninResponse". # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # The RP local ID of the user. # Corresponds to the JSON property `localId` # @return [String] attr_accessor :local_id # The refresh token for the signed in user. # Corresponds to the JSON property `refreshToken` # @return [String] attr_accessor :refresh_token def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @email = args[:email] if args.key?(:email) @expires_in = args[:expires_in] if args.key?(:expires_in) @id_token = args[:id_token] if args.key?(:id_token) @is_new_user = args[:is_new_user] if args.key?(:is_new_user) @kind = args[:kind] if args.key?(:kind) @local_id = args[:local_id] if args.key?(:local_id) @refresh_token = args[:refresh_token] if args.key?(:refresh_token) end end # Template for an email template. class EmailTemplate include Google::Apis::Core::Hashable # Email body. # Corresponds to the JSON property `body` # @return [String] attr_accessor :body # Email body format. # Corresponds to the JSON property `format` # @return [String] attr_accessor :format # From address of the email. # Corresponds to the JSON property `from` # @return [String] attr_accessor :from # From display name. # Corresponds to the JSON property `fromDisplayName` # @return [String] attr_accessor :from_display_name # Reply-to address. # Corresponds to the JSON property `replyTo` # @return [String] attr_accessor :reply_to # Subject of the email. # Corresponds to the JSON property `subject` # @return [String] attr_accessor :subject def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @body = args[:body] if args.key?(:body) @format = args[:format] if args.key?(:format) @from = args[:from] if args.key?(:from) @from_display_name = args[:from_display_name] if args.key?(:from_display_name) @reply_to = args[:reply_to] if args.key?(:reply_to) @subject = args[:subject] if args.key?(:subject) end end # Response of getting account information. class GetAccountInfoResponse include Google::Apis::Core::Hashable # The fixed string "identitytoolkit#GetAccountInfoResponse". # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # The info of the users. # Corresponds to the JSON property `users` # @return [Array] attr_accessor :users def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @kind = args[:kind] if args.key?(:kind) @users = args[:users] if args.key?(:users) end end # Response of getting a code for user confirmation (reset password, change email # etc.). class GetOobConfirmationCodeResponse include Google::Apis::Core::Hashable # The email address that the email is sent to. # Corresponds to the JSON property `email` # @return [String] attr_accessor :email # The fixed string "identitytoolkit#GetOobConfirmationCodeResponse". # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # The code to be send to the user. # Corresponds to the JSON property `oobCode` # @return [String] attr_accessor :oob_code def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @email = args[:email] if args.key?(:email) @kind = args[:kind] if args.key?(:kind) @oob_code = args[:oob_code] if args.key?(:oob_code) end end # Response of getting recaptcha param. class GetRecaptchaParamResponse include Google::Apis::Core::Hashable # The fixed string "identitytoolkit#GetRecaptchaParamResponse". # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # Site key registered at recaptcha. # Corresponds to the JSON property `recaptchaSiteKey` # @return [String] attr_accessor :recaptcha_site_key # The stoken field for the recaptcha widget, used to request captcha challenge. # Corresponds to the JSON property `recaptchaStoken` # @return [String] attr_accessor :recaptcha_stoken def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @kind = args[:kind] if args.key?(:kind) @recaptcha_site_key = args[:recaptcha_site_key] if args.key?(:recaptcha_site_key) @recaptcha_stoken = args[:recaptcha_stoken] if args.key?(:recaptcha_stoken) end end # Request to get the IDP authentication URL. class CreateAuthUriRequest include Google::Apis::Core::Hashable # The app ID of the mobile app, base64(CERT_SHA1):PACKAGE_NAME for Android, # BUNDLE_ID for iOS. # Corresponds to the JSON property `appId` # @return [String] attr_accessor :app_id # Explicitly specify the auth flow type. Currently only support "CODE_FLOW" type. # The field is only used for Google provider. # Corresponds to the JSON property `authFlowType` # @return [String] attr_accessor :auth_flow_type # The relying party OAuth client ID. # Corresponds to the JSON property `clientId` # @return [String] attr_accessor :client_id # The opaque value used by the client to maintain context info between the # authentication request and the IDP callback. # Corresponds to the JSON property `context` # @return [String] attr_accessor :context # The URI to which the IDP redirects the user after the federated login flow. # Corresponds to the JSON property `continueUri` # @return [String] attr_accessor :continue_uri # 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. # Corresponds to the JSON property `customParameter` # @return [Hash] attr_accessor :custom_parameter # The hosted domain to restrict sign-in to accounts at that domain for Google # Apps hosted accounts. # Corresponds to the JSON property `hostedDomain` # @return [String] attr_accessor :hosted_domain # The email or federated ID of the user. # Corresponds to the JSON property `identifier` # @return [String] attr_accessor :identifier # The developer's consumer key for OpenId OAuth Extension # Corresponds to the JSON property `oauthConsumerKey` # @return [String] attr_accessor :oauth_consumer_key # Additional oauth scopes, beyond the basid user profile, that the user would be # prompted to grant # Corresponds to the JSON property `oauthScope` # @return [String] attr_accessor :oauth_scope # Optional realm for OpenID protocol. The sub string "scheme://domain:port" of # the param "continueUri" is used if this is not set. # Corresponds to the JSON property `openidRealm` # @return [String] attr_accessor :openid_realm # The native app package for OTA installation. # Corresponds to the JSON property `otaApp` # @return [String] attr_accessor :ota_app # 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. # Corresponds to the JSON property `providerId` # @return [String] attr_accessor :provider_id # The session_id passed by client. # Corresponds to the JSON property `sessionId` # @return [String] attr_accessor :session_id # For multi-tenant use cases, in order to construct sign-in URL with the correct # IDP parameters, Firebear needs to know which Tenant to retrieve IDP configs # from. # Corresponds to the JSON property `tenantId` # @return [String] attr_accessor :tenant_id # Tenant project number to be used for idp discovery. # Corresponds to the JSON property `tenantProjectNumber` # @return [Fixnum] attr_accessor :tenant_project_number def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @app_id = args[:app_id] if args.key?(:app_id) @auth_flow_type = args[:auth_flow_type] if args.key?(:auth_flow_type) @client_id = args[:client_id] if args.key?(:client_id) @context = args[:context] if args.key?(:context) @continue_uri = args[:continue_uri] if args.key?(:continue_uri) @custom_parameter = args[:custom_parameter] if args.key?(:custom_parameter) @hosted_domain = args[:hosted_domain] if args.key?(:hosted_domain) @identifier = args[:identifier] if args.key?(:identifier) @oauth_consumer_key = args[:oauth_consumer_key] if args.key?(:oauth_consumer_key) @oauth_scope = args[:oauth_scope] if args.key?(:oauth_scope) @openid_realm = args[:openid_realm] if args.key?(:openid_realm) @ota_app = args[:ota_app] if args.key?(:ota_app) @provider_id = args[:provider_id] if args.key?(:provider_id) @session_id = args[:session_id] if args.key?(:session_id) @tenant_id = args[:tenant_id] if args.key?(:tenant_id) @tenant_project_number = args[:tenant_project_number] if args.key?(:tenant_project_number) end end # Request to delete account. class DeleteAccountRequest include Google::Apis::Core::Hashable # GCP project number of the requesting delegated app. Currently only intended # for Firebase V1 migration. # Corresponds to the JSON property `delegatedProjectNumber` # @return [Fixnum] attr_accessor :delegated_project_number # The GITKit token or STS id token of the authenticated user. # Corresponds to the JSON property `idToken` # @return [String] attr_accessor :id_token # The local ID of the user. # Corresponds to the JSON property `localId` # @return [String] attr_accessor :local_id def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @delegated_project_number = args[:delegated_project_number] if args.key?(:delegated_project_number) @id_token = args[:id_token] if args.key?(:id_token) @local_id = args[:local_id] if args.key?(:local_id) end end # Request to download user account in batch. class DownloadAccountRequest include Google::Apis::Core::Hashable # GCP project number of the requesting delegated app. Currently only intended # for Firebase V1 migration. # Corresponds to the JSON property `delegatedProjectNumber` # @return [Fixnum] attr_accessor :delegated_project_number # The max number of results to return in the response. # Corresponds to the JSON property `maxResults` # @return [Fixnum] attr_accessor :max_results # The token for the next page. This should be taken from the previous response. # Corresponds to the JSON property `nextPageToken` # @return [String] attr_accessor :next_page_token # Specify which project (field value is actually project id) to operate. Only # used when provided credential. # Corresponds to the JSON property `targetProjectId` # @return [String] attr_accessor :target_project_id def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @delegated_project_number = args[:delegated_project_number] if args.key?(:delegated_project_number) @max_results = args[:max_results] if args.key?(:max_results) @next_page_token = args[:next_page_token] if args.key?(:next_page_token) @target_project_id = args[:target_project_id] if args.key?(:target_project_id) end end # Request to sign in with email. class IdentitytoolkitRelyingpartyEmailLinkSigninRequest include Google::Apis::Core::Hashable # The email address of the user. # Corresponds to the JSON property `email` # @return [String] attr_accessor :email # Token for linking flow. # Corresponds to the JSON property `idToken` # @return [String] attr_accessor :id_token # The confirmation code. # Corresponds to the JSON property `oobCode` # @return [String] attr_accessor :oob_code def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @email = args[:email] if args.key?(:email) @id_token = args[:id_token] if args.key?(:id_token) @oob_code = args[:oob_code] if args.key?(:oob_code) end end # Request to get the account information. class GetAccountInfoRequest include Google::Apis::Core::Hashable # GCP project number of the requesting delegated app. Currently only intended # for Firebase V1 migration. # Corresponds to the JSON property `delegatedProjectNumber` # @return [Fixnum] attr_accessor :delegated_project_number # The list of emails of the users to inquiry. # Corresponds to the JSON property `email` # @return [Array] attr_accessor :email # The GITKit token of the authenticated user. # Corresponds to the JSON property `idToken` # @return [String] attr_accessor :id_token # The list of local ID's of the users to inquiry. # Corresponds to the JSON property `localId` # @return [Array] attr_accessor :local_id # Privileged caller can query users by specified phone number. # Corresponds to the JSON property `phoneNumber` # @return [Array] attr_accessor :phone_number def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @delegated_project_number = args[:delegated_project_number] if args.key?(:delegated_project_number) @email = args[:email] if args.key?(:email) @id_token = args[:id_token] if args.key?(:id_token) @local_id = args[:local_id] if args.key?(:local_id) @phone_number = args[:phone_number] if args.key?(:phone_number) end end # Response of getting the project configuration. class GetProjectConfigResponse include Google::Apis::Core::Hashable # Whether to allow password user sign in or sign up. # Corresponds to the JSON property `allowPasswordUser` # @return [Boolean] attr_accessor :allow_password_user alias_method :allow_password_user?, :allow_password_user # Browser API key, needed when making http request to Apiary. # Corresponds to the JSON property `apiKey` # @return [String] attr_accessor :api_key # Authorized domains. # Corresponds to the JSON property `authorizedDomains` # @return [Array] attr_accessor :authorized_domains # Template for an email template. # Corresponds to the JSON property `changeEmailTemplate` # @return [Google::Apis::IdentitytoolkitV3::EmailTemplate] attr_accessor :change_email_template # # Corresponds to the JSON property `dynamicLinksDomain` # @return [String] attr_accessor :dynamic_links_domain # Whether anonymous user is enabled. # Corresponds to the JSON property `enableAnonymousUser` # @return [Boolean] attr_accessor :enable_anonymous_user alias_method :enable_anonymous_user?, :enable_anonymous_user # OAuth2 provider configuration. # Corresponds to the JSON property `idpConfig` # @return [Array] attr_accessor :idp_config # Template for an email template. # Corresponds to the JSON property `legacyResetPasswordTemplate` # @return [Google::Apis::IdentitytoolkitV3::EmailTemplate] attr_accessor :legacy_reset_password_template # Project ID of the relying party. # Corresponds to the JSON property `projectId` # @return [String] attr_accessor :project_id # Template for an email template. # Corresponds to the JSON property `resetPasswordTemplate` # @return [Google::Apis::IdentitytoolkitV3::EmailTemplate] attr_accessor :reset_password_template # Whether to use email sending provided by Firebear. # Corresponds to the JSON property `useEmailSending` # @return [Boolean] attr_accessor :use_email_sending alias_method :use_email_sending?, :use_email_sending # Template for an email template. # Corresponds to the JSON property `verifyEmailTemplate` # @return [Google::Apis::IdentitytoolkitV3::EmailTemplate] attr_accessor :verify_email_template def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @allow_password_user = args[:allow_password_user] if args.key?(:allow_password_user) @api_key = args[:api_key] if args.key?(:api_key) @authorized_domains = args[:authorized_domains] if args.key?(:authorized_domains) @change_email_template = args[:change_email_template] if args.key?(:change_email_template) @dynamic_links_domain = args[:dynamic_links_domain] if args.key?(:dynamic_links_domain) @enable_anonymous_user = args[:enable_anonymous_user] if args.key?(:enable_anonymous_user) @idp_config = args[:idp_config] if args.key?(:idp_config) @legacy_reset_password_template = args[:legacy_reset_password_template] if args.key?(:legacy_reset_password_template) @project_id = args[:project_id] if args.key?(:project_id) @reset_password_template = args[:reset_password_template] if args.key?(:reset_password_template) @use_email_sending = args[:use_email_sending] if args.key?(:use_email_sending) @verify_email_template = args[:verify_email_template] if args.key?(:verify_email_template) end end # Request to reset the password. class ResetPasswordRequest include Google::Apis::Core::Hashable # The email address of the user. # Corresponds to the JSON property `email` # @return [String] attr_accessor :email # The new password inputted by the user. # Corresponds to the JSON property `newPassword` # @return [String] attr_accessor :new_password # The old password inputted by the user. # Corresponds to the JSON property `oldPassword` # @return [String] attr_accessor :old_password # The confirmation code. # Corresponds to the JSON property `oobCode` # @return [String] attr_accessor :oob_code def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @email = args[:email] if args.key?(:email) @new_password = args[:new_password] if args.key?(:new_password) @old_password = args[:old_password] if args.key?(:old_password) @oob_code = args[:oob_code] if args.key?(:oob_code) end end # Request for Identitytoolkit-SendVerificationCode class IdentitytoolkitRelyingpartySendVerificationCodeRequest include Google::Apis::Core::Hashable # Receipt of successful app token validation with APNS. # Corresponds to the JSON property `iosReceipt` # @return [String] attr_accessor :ios_receipt # Secret delivered to iOS app via APNS. # Corresponds to the JSON property `iosSecret` # @return [String] attr_accessor :ios_secret # The phone number to send the verification code to in E.164 format. # Corresponds to the JSON property `phoneNumber` # @return [String] attr_accessor :phone_number # Recaptcha solution. # Corresponds to the JSON property `recaptchaToken` # @return [String] attr_accessor :recaptcha_token def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @ios_receipt = args[:ios_receipt] if args.key?(:ios_receipt) @ios_secret = args[:ios_secret] if args.key?(:ios_secret) @phone_number = args[:phone_number] if args.key?(:phone_number) @recaptcha_token = args[:recaptcha_token] if args.key?(:recaptcha_token) end end # Response for Identitytoolkit-SendVerificationCode class IdentitytoolkitRelyingpartySendVerificationCodeResponse include Google::Apis::Core::Hashable # Encrypted session information # Corresponds to the JSON property `sessionInfo` # @return [String] attr_accessor :session_info def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @session_info = args[:session_info] if args.key?(:session_info) end end # Request to set the account information. class SetAccountInfoRequest include Google::Apis::Core::Hashable # The captcha challenge. # Corresponds to the JSON property `captchaChallenge` # @return [String] attr_accessor :captcha_challenge # Response to the captcha. # Corresponds to the JSON property `captchaResponse` # @return [String] attr_accessor :captcha_response # The timestamp when the account is created. # Corresponds to the JSON property `createdAt` # @return [Fixnum] attr_accessor :created_at # The custom attributes to be set in the user's id token. # Corresponds to the JSON property `customAttributes` # @return [String] attr_accessor :custom_attributes # GCP project number of the requesting delegated app. Currently only intended # for Firebase V1 migration. # Corresponds to the JSON property `delegatedProjectNumber` # @return [Fixnum] attr_accessor :delegated_project_number # The attributes users request to delete. # Corresponds to the JSON property `deleteAttribute` # @return [Array] attr_accessor :delete_attribute # The IDPs the user request to delete. # Corresponds to the JSON property `deleteProvider` # @return [Array] attr_accessor :delete_provider # Whether to disable the user. # Corresponds to the JSON property `disableUser` # @return [Boolean] attr_accessor :disable_user alias_method :disable_user?, :disable_user # The name of the user. # Corresponds to the JSON property `displayName` # @return [String] attr_accessor :display_name # The email of the user. # Corresponds to the JSON property `email` # @return [String] attr_accessor :email # Mark the email as verified or not. # Corresponds to the JSON property `emailVerified` # @return [Boolean] attr_accessor :email_verified alias_method :email_verified?, :email_verified # The GITKit token of the authenticated user. # Corresponds to the JSON property `idToken` # @return [String] attr_accessor :id_token # Instance id token of the app. # Corresponds to the JSON property `instanceId` # @return [String] attr_accessor :instance_id # Last login timestamp. # Corresponds to the JSON property `lastLoginAt` # @return [Fixnum] attr_accessor :last_login_at # The local ID of the user. # Corresponds to the JSON property `localId` # @return [String] attr_accessor :local_id # The out-of-band code of the change email request. # Corresponds to the JSON property `oobCode` # @return [String] attr_accessor :oob_code # The new password of the user. # Corresponds to the JSON property `password` # @return [String] attr_accessor :password # Privileged caller can update user with specified phone number. # Corresponds to the JSON property `phoneNumber` # @return [String] attr_accessor :phone_number # The photo url of the user. # Corresponds to the JSON property `photoUrl` # @return [String] attr_accessor :photo_url # The associated IDPs of the user. # Corresponds to the JSON property `provider` # @return [Array] attr_accessor :provider # Whether return sts id token and refresh token instead of gitkit token. # Corresponds to the JSON property `returnSecureToken` # @return [Boolean] attr_accessor :return_secure_token alias_method :return_secure_token?, :return_secure_token # Mark the user to upgrade to federated login. # Corresponds to the JSON property `upgradeToFederatedLogin` # @return [Boolean] attr_accessor :upgrade_to_federated_login alias_method :upgrade_to_federated_login?, :upgrade_to_federated_login # Timestamp in seconds for valid login token. # Corresponds to the JSON property `validSince` # @return [Fixnum] attr_accessor :valid_since def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @captcha_challenge = args[:captcha_challenge] if args.key?(:captcha_challenge) @captcha_response = args[:captcha_response] if args.key?(:captcha_response) @created_at = args[:created_at] if args.key?(:created_at) @custom_attributes = args[:custom_attributes] if args.key?(:custom_attributes) @delegated_project_number = args[:delegated_project_number] if args.key?(:delegated_project_number) @delete_attribute = args[:delete_attribute] if args.key?(:delete_attribute) @delete_provider = args[:delete_provider] if args.key?(:delete_provider) @disable_user = args[:disable_user] if args.key?(:disable_user) @display_name = args[:display_name] if args.key?(:display_name) @email = args[:email] if args.key?(:email) @email_verified = args[:email_verified] if args.key?(:email_verified) @id_token = args[:id_token] if args.key?(:id_token) @instance_id = args[:instance_id] if args.key?(:instance_id) @last_login_at = args[:last_login_at] if args.key?(:last_login_at) @local_id = args[:local_id] if args.key?(:local_id) @oob_code = args[:oob_code] if args.key?(:oob_code) @password = args[:password] if args.key?(:password) @phone_number = args[:phone_number] if args.key?(:phone_number) @photo_url = args[:photo_url] if args.key?(:photo_url) @provider = args[:provider] if args.key?(:provider) @return_secure_token = args[:return_secure_token] if args.key?(:return_secure_token) @upgrade_to_federated_login = args[:upgrade_to_federated_login] if args.key?(:upgrade_to_federated_login) @valid_since = args[:valid_since] if args.key?(:valid_since) end end # Request to set the project configuration. class SetProjectConfigRequest include Google::Apis::Core::Hashable # Whether to allow password user sign in or sign up. # Corresponds to the JSON property `allowPasswordUser` # @return [Boolean] attr_accessor :allow_password_user alias_method :allow_password_user?, :allow_password_user # Browser API key, needed when making http request to Apiary. # Corresponds to the JSON property `apiKey` # @return [String] attr_accessor :api_key # Authorized domains for widget redirect. # Corresponds to the JSON property `authorizedDomains` # @return [Array] attr_accessor :authorized_domains # Template for an email template. # Corresponds to the JSON property `changeEmailTemplate` # @return [Google::Apis::IdentitytoolkitV3::EmailTemplate] attr_accessor :change_email_template # GCP project number of the requesting delegated app. Currently only intended # for Firebase V1 migration. # Corresponds to the JSON property `delegatedProjectNumber` # @return [Fixnum] attr_accessor :delegated_project_number # Whether to enable anonymous user. # Corresponds to the JSON property `enableAnonymousUser` # @return [Boolean] attr_accessor :enable_anonymous_user alias_method :enable_anonymous_user?, :enable_anonymous_user # Oauth2 provider configuration. # Corresponds to the JSON property `idpConfig` # @return [Array] attr_accessor :idp_config # Template for an email template. # Corresponds to the JSON property `legacyResetPasswordTemplate` # @return [Google::Apis::IdentitytoolkitV3::EmailTemplate] attr_accessor :legacy_reset_password_template # Template for an email template. # Corresponds to the JSON property `resetPasswordTemplate` # @return [Google::Apis::IdentitytoolkitV3::EmailTemplate] attr_accessor :reset_password_template # Whether to use email sending provided by Firebear. # Corresponds to the JSON property `useEmailSending` # @return [Boolean] attr_accessor :use_email_sending alias_method :use_email_sending?, :use_email_sending # Template for an email template. # Corresponds to the JSON property `verifyEmailTemplate` # @return [Google::Apis::IdentitytoolkitV3::EmailTemplate] attr_accessor :verify_email_template def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @allow_password_user = args[:allow_password_user] if args.key?(:allow_password_user) @api_key = args[:api_key] if args.key?(:api_key) @authorized_domains = args[:authorized_domains] if args.key?(:authorized_domains) @change_email_template = args[:change_email_template] if args.key?(:change_email_template) @delegated_project_number = args[:delegated_project_number] if args.key?(:delegated_project_number) @enable_anonymous_user = args[:enable_anonymous_user] if args.key?(:enable_anonymous_user) @idp_config = args[:idp_config] if args.key?(:idp_config) @legacy_reset_password_template = args[:legacy_reset_password_template] if args.key?(:legacy_reset_password_template) @reset_password_template = args[:reset_password_template] if args.key?(:reset_password_template) @use_email_sending = args[:use_email_sending] if args.key?(:use_email_sending) @verify_email_template = args[:verify_email_template] if args.key?(:verify_email_template) end end # Response of setting the project configuration. class IdentitytoolkitRelyingpartySetProjectConfigResponse include Google::Apis::Core::Hashable # Project ID of the relying party. # Corresponds to the JSON property `projectId` # @return [String] attr_accessor :project_id def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @project_id = args[:project_id] if args.key?(:project_id) end end # Request to sign out user. class SignOutUserRequest include Google::Apis::Core::Hashable # Instance id token of the app. # Corresponds to the JSON property `instanceId` # @return [String] attr_accessor :instance_id # The local ID of the user. # Corresponds to the JSON property `localId` # @return [String] attr_accessor :local_id def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @instance_id = args[:instance_id] if args.key?(:instance_id) @local_id = args[:local_id] if args.key?(:local_id) end end # Response of signing out user. class SignOutUserResponse include Google::Apis::Core::Hashable # The local ID of the user. # Corresponds to the JSON property `localId` # @return [String] attr_accessor :local_id def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @local_id = args[:local_id] if args.key?(:local_id) end end # Request to signup new user, create anonymous user or anonymous user reauth. class SignupNewUserRequest include Google::Apis::Core::Hashable # The captcha challenge. # Corresponds to the JSON property `captchaChallenge` # @return [String] attr_accessor :captcha_challenge # Response to the captcha. # Corresponds to the JSON property `captchaResponse` # @return [String] attr_accessor :captcha_response # Whether to disable the user. Only can be used by service account. # Corresponds to the JSON property `disabled` # @return [Boolean] attr_accessor :disabled alias_method :disabled?, :disabled # The name of the user. # Corresponds to the JSON property `displayName` # @return [String] attr_accessor :display_name # The email of the user. # Corresponds to the JSON property `email` # @return [String] attr_accessor :email # Mark the email as verified or not. Only can be used by service account. # Corresponds to the JSON property `emailVerified` # @return [Boolean] attr_accessor :email_verified alias_method :email_verified?, :email_verified # The GITKit token of the authenticated user. # Corresponds to the JSON property `idToken` # @return [String] attr_accessor :id_token # Instance id token of the app. # Corresponds to the JSON property `instanceId` # @return [String] attr_accessor :instance_id # Privileged caller can create user with specified user id. # Corresponds to the JSON property `localId` # @return [String] attr_accessor :local_id # The new password of the user. # Corresponds to the JSON property `password` # @return [String] attr_accessor :password # Privileged caller can create user with specified phone number. # Corresponds to the JSON property `phoneNumber` # @return [String] attr_accessor :phone_number # The photo url of the user. # Corresponds to the JSON property `photoUrl` # @return [String] attr_accessor :photo_url # For multi-tenant use cases, in order to construct sign-in URL with the correct # IDP parameters, Firebear needs to know which Tenant to retrieve IDP configs # from. # Corresponds to the JSON property `tenantId` # @return [String] attr_accessor :tenant_id # Tenant project number to be used for idp discovery. # Corresponds to the JSON property `tenantProjectNumber` # @return [Fixnum] attr_accessor :tenant_project_number def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @captcha_challenge = args[:captcha_challenge] if args.key?(:captcha_challenge) @captcha_response = args[:captcha_response] if args.key?(:captcha_response) @disabled = args[:disabled] if args.key?(:disabled) @display_name = args[:display_name] if args.key?(:display_name) @email = args[:email] if args.key?(:email) @email_verified = args[:email_verified] if args.key?(:email_verified) @id_token = args[:id_token] if args.key?(:id_token) @instance_id = args[:instance_id] if args.key?(:instance_id) @local_id = args[:local_id] if args.key?(:local_id) @password = args[:password] if args.key?(:password) @phone_number = args[:phone_number] if args.key?(:phone_number) @photo_url = args[:photo_url] if args.key?(:photo_url) @tenant_id = args[:tenant_id] if args.key?(:tenant_id) @tenant_project_number = args[:tenant_project_number] if args.key?(:tenant_project_number) end end # Request to upload user account in batch. class UploadAccountRequest include Google::Apis::Core::Hashable # Whether allow overwrite existing account when user local_id exists. # Corresponds to the JSON property `allowOverwrite` # @return [Boolean] attr_accessor :allow_overwrite alias_method :allow_overwrite?, :allow_overwrite # # Corresponds to the JSON property `blockSize` # @return [Fixnum] attr_accessor :block_size # The following 4 fields are for standard scrypt algorithm. # Corresponds to the JSON property `cpuMemCost` # @return [Fixnum] attr_accessor :cpu_mem_cost # GCP project number of the requesting delegated app. Currently only intended # for Firebase V1 migration. # Corresponds to the JSON property `delegatedProjectNumber` # @return [Fixnum] attr_accessor :delegated_project_number # # Corresponds to the JSON property `dkLen` # @return [Fixnum] attr_accessor :dk_len # The password hash algorithm. # Corresponds to the JSON property `hashAlgorithm` # @return [String] attr_accessor :hash_algorithm # Memory cost for hash calculation. Used by scrypt similar algorithms. # Corresponds to the JSON property `memoryCost` # @return [Fixnum] attr_accessor :memory_cost # # Corresponds to the JSON property `parallelization` # @return [Fixnum] attr_accessor :parallelization # Rounds for hash calculation. Used by scrypt and similar algorithms. # Corresponds to the JSON property `rounds` # @return [Fixnum] attr_accessor :rounds # The salt separator. # Corresponds to the JSON property `saltSeparator` # NOTE: Values are automatically base64 encoded/decoded in the client library. # @return [String] attr_accessor :salt_separator # If true, backend will do sanity check(including duplicate email and federated # id) when uploading account. # Corresponds to the JSON property `sanityCheck` # @return [Boolean] attr_accessor :sanity_check alias_method :sanity_check?, :sanity_check # The key for to hash the password. # Corresponds to the JSON property `signerKey` # NOTE: Values are automatically base64 encoded/decoded in the client library. # @return [String] attr_accessor :signer_key # Specify which project (field value is actually project id) to operate. Only # used when provided credential. # Corresponds to the JSON property `targetProjectId` # @return [String] attr_accessor :target_project_id # The account info to be stored. # Corresponds to the JSON property `users` # @return [Array] attr_accessor :users def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @allow_overwrite = args[:allow_overwrite] if args.key?(:allow_overwrite) @block_size = args[:block_size] if args.key?(:block_size) @cpu_mem_cost = args[:cpu_mem_cost] if args.key?(:cpu_mem_cost) @delegated_project_number = args[:delegated_project_number] if args.key?(:delegated_project_number) @dk_len = args[:dk_len] if args.key?(:dk_len) @hash_algorithm = args[:hash_algorithm] if args.key?(:hash_algorithm) @memory_cost = args[:memory_cost] if args.key?(:memory_cost) @parallelization = args[:parallelization] if args.key?(:parallelization) @rounds = args[:rounds] if args.key?(:rounds) @salt_separator = args[:salt_separator] if args.key?(:salt_separator) @sanity_check = args[:sanity_check] if args.key?(:sanity_check) @signer_key = args[:signer_key] if args.key?(:signer_key) @target_project_id = args[:target_project_id] if args.key?(:target_project_id) @users = args[:users] if args.key?(:users) end end # Request to verify the IDP assertion. class VerifyAssertionRequest include Google::Apis::Core::Hashable # When it's true, automatically creates a new account if the user doesn't exist. # When it's false, allows existing user to sign in normally and throws exception # if the user doesn't exist. # Corresponds to the JSON property `autoCreate` # @return [Boolean] attr_accessor :auto_create alias_method :auto_create?, :auto_create # GCP project number of the requesting delegated app. Currently only intended # for Firebase V1 migration. # Corresponds to the JSON property `delegatedProjectNumber` # @return [Fixnum] attr_accessor :delegated_project_number # The GITKit token of the authenticated user. # Corresponds to the JSON property `idToken` # @return [String] attr_accessor :id_token # Instance id token of the app. # Corresponds to the JSON property `instanceId` # @return [String] attr_accessor :instance_id # The GITKit token for the non-trusted IDP pending to be confirmed by the user. # Corresponds to the JSON property `pendingIdToken` # @return [String] attr_accessor :pending_id_token # The post body if the request is a HTTP POST. # Corresponds to the JSON property `postBody` # @return [String] attr_accessor :post_body # The URI to which the IDP redirects the user back. It may contain federated # login result params added by the IDP. # Corresponds to the JSON property `requestUri` # @return [String] attr_accessor :request_uri # Whether return 200 and IDP credential rather than throw exception when # federated id is already linked. # Corresponds to the JSON property `returnIdpCredential` # @return [Boolean] attr_accessor :return_idp_credential alias_method :return_idp_credential?, :return_idp_credential # Whether to return refresh tokens. # Corresponds to the JSON property `returnRefreshToken` # @return [Boolean] attr_accessor :return_refresh_token alias_method :return_refresh_token?, :return_refresh_token # Whether return sts id token and refresh token instead of gitkit token. # Corresponds to the JSON property `returnSecureToken` # @return [Boolean] attr_accessor :return_secure_token alias_method :return_secure_token?, :return_secure_token # Session ID, which should match the one in previous createAuthUri request. # Corresponds to the JSON property `sessionId` # @return [String] attr_accessor :session_id # For multi-tenant use cases, in order to construct sign-in URL with the correct # IDP parameters, Firebear needs to know which Tenant to retrieve IDP configs # from. # Corresponds to the JSON property `tenantId` # @return [String] attr_accessor :tenant_id # Tenant project number to be used for idp discovery. # Corresponds to the JSON property `tenantProjectNumber` # @return [Fixnum] attr_accessor :tenant_project_number def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @auto_create = args[:auto_create] if args.key?(:auto_create) @delegated_project_number = args[:delegated_project_number] if args.key?(:delegated_project_number) @id_token = args[:id_token] if args.key?(:id_token) @instance_id = args[:instance_id] if args.key?(:instance_id) @pending_id_token = args[:pending_id_token] if args.key?(:pending_id_token) @post_body = args[:post_body] if args.key?(:post_body) @request_uri = args[:request_uri] if args.key?(:request_uri) @return_idp_credential = args[:return_idp_credential] if args.key?(:return_idp_credential) @return_refresh_token = args[:return_refresh_token] if args.key?(:return_refresh_token) @return_secure_token = args[:return_secure_token] if args.key?(:return_secure_token) @session_id = args[:session_id] if args.key?(:session_id) @tenant_id = args[:tenant_id] if args.key?(:tenant_id) @tenant_project_number = args[:tenant_project_number] if args.key?(:tenant_project_number) end end # Request to verify a custom token class VerifyCustomTokenRequest include Google::Apis::Core::Hashable # GCP project number of the requesting delegated app. Currently only intended # for Firebase V1 migration. # Corresponds to the JSON property `delegatedProjectNumber` # @return [Fixnum] attr_accessor :delegated_project_number # Instance id token of the app. # Corresponds to the JSON property `instanceId` # @return [String] attr_accessor :instance_id # Whether return sts id token and refresh token instead of gitkit token. # Corresponds to the JSON property `returnSecureToken` # @return [Boolean] attr_accessor :return_secure_token alias_method :return_secure_token?, :return_secure_token # The custom token to verify # Corresponds to the JSON property `token` # @return [String] attr_accessor :token def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @delegated_project_number = args[:delegated_project_number] if args.key?(:delegated_project_number) @instance_id = args[:instance_id] if args.key?(:instance_id) @return_secure_token = args[:return_secure_token] if args.key?(:return_secure_token) @token = args[:token] if args.key?(:token) end end # Request to verify the password. class VerifyPasswordRequest include Google::Apis::Core::Hashable # The captcha challenge. # Corresponds to the JSON property `captchaChallenge` # @return [String] attr_accessor :captcha_challenge # Response to the captcha. # Corresponds to the JSON property `captchaResponse` # @return [String] attr_accessor :captcha_response # GCP project number of the requesting delegated app. Currently only intended # for Firebase V1 migration. # Corresponds to the JSON property `delegatedProjectNumber` # @return [Fixnum] attr_accessor :delegated_project_number # The email of the user. # Corresponds to the JSON property `email` # @return [String] attr_accessor :email # The GITKit token of the authenticated user. # Corresponds to the JSON property `idToken` # @return [String] attr_accessor :id_token # Instance id token of the app. # Corresponds to the JSON property `instanceId` # @return [String] attr_accessor :instance_id # The password inputed by the user. # Corresponds to the JSON property `password` # @return [String] attr_accessor :password # The GITKit token for the non-trusted IDP, which is to be confirmed by the user. # Corresponds to the JSON property `pendingIdToken` # @return [String] attr_accessor :pending_id_token # Whether return sts id token and refresh token instead of gitkit token. # Corresponds to the JSON property `returnSecureToken` # @return [Boolean] attr_accessor :return_secure_token alias_method :return_secure_token?, :return_secure_token # For multi-tenant use cases, in order to construct sign-in URL with the correct # IDP parameters, Firebear needs to know which Tenant to retrieve IDP configs # from. # Corresponds to the JSON property `tenantId` # @return [String] attr_accessor :tenant_id # Tenant project number to be used for idp discovery. # Corresponds to the JSON property `tenantProjectNumber` # @return [Fixnum] attr_accessor :tenant_project_number def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @captcha_challenge = args[:captcha_challenge] if args.key?(:captcha_challenge) @captcha_response = args[:captcha_response] if args.key?(:captcha_response) @delegated_project_number = args[:delegated_project_number] if args.key?(:delegated_project_number) @email = args[:email] if args.key?(:email) @id_token = args[:id_token] if args.key?(:id_token) @instance_id = args[:instance_id] if args.key?(:instance_id) @password = args[:password] if args.key?(:password) @pending_id_token = args[:pending_id_token] if args.key?(:pending_id_token) @return_secure_token = args[:return_secure_token] if args.key?(:return_secure_token) @tenant_id = args[:tenant_id] if args.key?(:tenant_id) @tenant_project_number = args[:tenant_project_number] if args.key?(:tenant_project_number) end end # Request for Identitytoolkit-VerifyPhoneNumber class IdentitytoolkitRelyingpartyVerifyPhoneNumberRequest include Google::Apis::Core::Hashable # # Corresponds to the JSON property `code` # @return [String] attr_accessor :code # # Corresponds to the JSON property `idToken` # @return [String] attr_accessor :id_token # # Corresponds to the JSON property `operation` # @return [String] attr_accessor :operation # # Corresponds to the JSON property `phoneNumber` # @return [String] attr_accessor :phone_number # The session info previously returned by IdentityToolkit-SendVerificationCode. # Corresponds to the JSON property `sessionInfo` # @return [String] attr_accessor :session_info # # Corresponds to the JSON property `temporaryProof` # @return [String] attr_accessor :temporary_proof # # Corresponds to the JSON property `verificationProof` # @return [String] attr_accessor :verification_proof def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @code = args[:code] if args.key?(:code) @id_token = args[:id_token] if args.key?(:id_token) @operation = args[:operation] if args.key?(:operation) @phone_number = args[:phone_number] if args.key?(:phone_number) @session_info = args[:session_info] if args.key?(:session_info) @temporary_proof = args[:temporary_proof] if args.key?(:temporary_proof) @verification_proof = args[:verification_proof] if args.key?(:verification_proof) end end # Response for Identitytoolkit-VerifyPhoneNumber class IdentitytoolkitRelyingpartyVerifyPhoneNumberResponse include Google::Apis::Core::Hashable # # Corresponds to the JSON property `expiresIn` # @return [Fixnum] attr_accessor :expires_in # # Corresponds to the JSON property `idToken` # @return [String] attr_accessor :id_token # # Corresponds to the JSON property `isNewUser` # @return [Boolean] attr_accessor :is_new_user alias_method :is_new_user?, :is_new_user # # Corresponds to the JSON property `localId` # @return [String] attr_accessor :local_id # # Corresponds to the JSON property `phoneNumber` # @return [String] attr_accessor :phone_number # # Corresponds to the JSON property `refreshToken` # @return [String] attr_accessor :refresh_token # # Corresponds to the JSON property `temporaryProof` # @return [String] attr_accessor :temporary_proof # # Corresponds to the JSON property `temporaryProofExpiresIn` # @return [Fixnum] attr_accessor :temporary_proof_expires_in # # Corresponds to the JSON property `verificationProof` # @return [String] attr_accessor :verification_proof # # Corresponds to the JSON property `verificationProofExpiresIn` # @return [Fixnum] attr_accessor :verification_proof_expires_in def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @expires_in = args[:expires_in] if args.key?(:expires_in) @id_token = args[:id_token] if args.key?(:id_token) @is_new_user = args[:is_new_user] if args.key?(:is_new_user) @local_id = args[:local_id] if args.key?(:local_id) @phone_number = args[:phone_number] if args.key?(:phone_number) @refresh_token = args[:refresh_token] if args.key?(:refresh_token) @temporary_proof = args[:temporary_proof] if args.key?(:temporary_proof) @temporary_proof_expires_in = args[:temporary_proof_expires_in] if args.key?(:temporary_proof_expires_in) @verification_proof = args[:verification_proof] if args.key?(:verification_proof) @verification_proof_expires_in = args[:verification_proof_expires_in] if args.key?(:verification_proof_expires_in) end end # Template for a single idp configuration. class IdpConfig include Google::Apis::Core::Hashable # OAuth2 client ID. # Corresponds to the JSON property `clientId` # @return [String] attr_accessor :client_id # Whether this IDP is enabled. # Corresponds to the JSON property `enabled` # @return [Boolean] attr_accessor :enabled alias_method :enabled?, :enabled # Percent of users who will be prompted/redirected federated login for this IDP. # Corresponds to the JSON property `experimentPercent` # @return [Fixnum] attr_accessor :experiment_percent # OAuth2 provider. # Corresponds to the JSON property `provider` # @return [String] attr_accessor :provider # OAuth2 client secret. # Corresponds to the JSON property `secret` # @return [String] attr_accessor :secret # Whitelisted client IDs for audience check. # Corresponds to the JSON property `whitelistedAudiences` # @return [Array] attr_accessor :whitelisted_audiences def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @client_id = args[:client_id] if args.key?(:client_id) @enabled = args[:enabled] if args.key?(:enabled) @experiment_percent = args[:experiment_percent] if args.key?(:experiment_percent) @provider = args[:provider] if args.key?(:provider) @secret = args[:secret] if args.key?(:secret) @whitelisted_audiences = args[:whitelisted_audiences] if args.key?(:whitelisted_audiences) end end # Request of getting a code for user confirmation (reset password, change email # etc.) class Relyingparty include Google::Apis::Core::Hashable # whether or not to install the android app on the device where the link is # opened # Corresponds to the JSON property `androidInstallApp` # @return [Boolean] attr_accessor :android_install_app alias_method :android_install_app?, :android_install_app # minimum version of the app. if the version on the device is lower than this # version then the user is taken to the play store to upgrade the app # Corresponds to the JSON property `androidMinimumVersion` # @return [String] attr_accessor :android_minimum_version # android package name of the android app to handle the action code # Corresponds to the JSON property `androidPackageName` # @return [String] attr_accessor :android_package_name # whether or not the app can handle the oob code without first going to web # Corresponds to the JSON property `canHandleCodeInApp` # @return [Boolean] attr_accessor :can_handle_code_in_app alias_method :can_handle_code_in_app?, :can_handle_code_in_app # The recaptcha response from the user. # Corresponds to the JSON property `captchaResp` # @return [String] attr_accessor :captcha_resp # The recaptcha challenge presented to the user. # Corresponds to the JSON property `challenge` # @return [String] attr_accessor :challenge # The url to continue to the Gitkit app # Corresponds to the JSON property `continueUrl` # @return [String] attr_accessor :continue_url # The email of the user. # Corresponds to the JSON property `email` # @return [String] attr_accessor :email # iOS app store id to download the app if it's not already installed # Corresponds to the JSON property `iOSAppStoreId` # @return [String] attr_accessor :i_os_app_store_id # the iOS bundle id of iOS app to handle the action code # Corresponds to the JSON property `iOSBundleId` # @return [String] attr_accessor :i_os_bundle_id # The user's Gitkit login token for email change. # Corresponds to the JSON property `idToken` # @return [String] attr_accessor :id_token # The fixed string "identitytoolkit#relyingparty". # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # The new email if the code is for email change. # Corresponds to the JSON property `newEmail` # @return [String] attr_accessor :new_email # The request type. # Corresponds to the JSON property `requestType` # @return [String] attr_accessor :request_type # The IP address of the user. # Corresponds to the JSON property `userIp` # @return [String] attr_accessor :user_ip def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @android_install_app = args[:android_install_app] if args.key?(:android_install_app) @android_minimum_version = args[:android_minimum_version] if args.key?(:android_minimum_version) @android_package_name = args[:android_package_name] if args.key?(:android_package_name) @can_handle_code_in_app = args[:can_handle_code_in_app] if args.key?(:can_handle_code_in_app) @captcha_resp = args[:captcha_resp] if args.key?(:captcha_resp) @challenge = args[:challenge] if args.key?(:challenge) @continue_url = args[:continue_url] if args.key?(:continue_url) @email = args[:email] if args.key?(:email) @i_os_app_store_id = args[:i_os_app_store_id] if args.key?(:i_os_app_store_id) @i_os_bundle_id = args[:i_os_bundle_id] if args.key?(:i_os_bundle_id) @id_token = args[:id_token] if args.key?(:id_token) @kind = args[:kind] if args.key?(:kind) @new_email = args[:new_email] if args.key?(:new_email) @request_type = args[:request_type] if args.key?(:request_type) @user_ip = args[:user_ip] if args.key?(:user_ip) end end # Response of resetting the password. class ResetPasswordResponse include Google::Apis::Core::Hashable # The user's email. If the out-of-band code is for email recovery, the user's # original email. # Corresponds to the JSON property `email` # @return [String] attr_accessor :email # The fixed string "identitytoolkit#ResetPasswordResponse". # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # If the out-of-band code is for email recovery, the user's new email. # Corresponds to the JSON property `newEmail` # @return [String] attr_accessor :new_email # The request type. # Corresponds to the JSON property `requestType` # @return [String] attr_accessor :request_type def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @email = args[:email] if args.key?(:email) @kind = args[:kind] if args.key?(:kind) @new_email = args[:new_email] if args.key?(:new_email) @request_type = args[:request_type] if args.key?(:request_type) end end # Respone of setting the account information. class SetAccountInfoResponse include Google::Apis::Core::Hashable # The name of the user. # Corresponds to the JSON property `displayName` # @return [String] attr_accessor :display_name # The email of the user. # Corresponds to the JSON property `email` # @return [String] attr_accessor :email # If email has been verified. # Corresponds to the JSON property `emailVerified` # @return [Boolean] attr_accessor :email_verified alias_method :email_verified?, :email_verified # If idToken is STS id token, then this field will be expiration time of STS id # token in seconds. # Corresponds to the JSON property `expiresIn` # @return [Fixnum] attr_accessor :expires_in # The Gitkit id token to login the newly sign up user. # Corresponds to the JSON property `idToken` # @return [String] attr_accessor :id_token # The fixed string "identitytoolkit#SetAccountInfoResponse". # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # The local ID of the user. # Corresponds to the JSON property `localId` # @return [String] attr_accessor :local_id # The new email the user attempts to change to. # Corresponds to the JSON property `newEmail` # @return [String] attr_accessor :new_email # The user's hashed password. # Corresponds to the JSON property `passwordHash` # NOTE: Values are automatically base64 encoded/decoded in the client library. # @return [String] attr_accessor :password_hash # The photo url of the user. # Corresponds to the JSON property `photoUrl` # @return [String] attr_accessor :photo_url # The user's profiles at the associated IdPs. # Corresponds to the JSON property `providerUserInfo` # @return [Array] attr_accessor :provider_user_info # If idToken is STS id token, then this field will be refresh token. # Corresponds to the JSON property `refreshToken` # @return [String] attr_accessor :refresh_token def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @display_name = args[:display_name] if args.key?(:display_name) @email = args[:email] if args.key?(:email) @email_verified = args[:email_verified] if args.key?(:email_verified) @expires_in = args[:expires_in] if args.key?(:expires_in) @id_token = args[:id_token] if args.key?(:id_token) @kind = args[:kind] if args.key?(:kind) @local_id = args[:local_id] if args.key?(:local_id) @new_email = args[:new_email] if args.key?(:new_email) @password_hash = args[:password_hash] if args.key?(:password_hash) @photo_url = args[:photo_url] if args.key?(:photo_url) @provider_user_info = args[:provider_user_info] if args.key?(:provider_user_info) @refresh_token = args[:refresh_token] if args.key?(:refresh_token) end # class ProviderUserInfo include Google::Apis::Core::Hashable # The user's display name at the IDP. # Corresponds to the JSON property `displayName` # @return [String] attr_accessor :display_name # User's identifier at IDP. # Corresponds to the JSON property `federatedId` # @return [String] attr_accessor :federated_id # The user's photo url at the IDP. # Corresponds to the JSON property `photoUrl` # @return [String] attr_accessor :photo_url # 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. # Corresponds to the JSON property `providerId` # @return [String] attr_accessor :provider_id def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @display_name = args[:display_name] if args.key?(:display_name) @federated_id = args[:federated_id] if args.key?(:federated_id) @photo_url = args[:photo_url] if args.key?(:photo_url) @provider_id = args[:provider_id] if args.key?(:provider_id) end end end # Response of signing up new user, creating anonymous user or anonymous user # reauth. class SignupNewUserResponse include Google::Apis::Core::Hashable # The name of the user. # Corresponds to the JSON property `displayName` # @return [String] attr_accessor :display_name # The email of the user. # Corresponds to the JSON property `email` # @return [String] attr_accessor :email # If idToken is STS id token, then this field will be expiration time of STS id # token in seconds. # Corresponds to the JSON property `expiresIn` # @return [Fixnum] attr_accessor :expires_in # The Gitkit id token to login the newly sign up user. # Corresponds to the JSON property `idToken` # @return [String] attr_accessor :id_token # The fixed string "identitytoolkit#SignupNewUserResponse". # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # The RP local ID of the user. # Corresponds to the JSON property `localId` # @return [String] attr_accessor :local_id # If idToken is STS id token, then this field will be refresh token. # Corresponds to the JSON property `refreshToken` # @return [String] attr_accessor :refresh_token def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @display_name = args[:display_name] if args.key?(:display_name) @email = args[:email] if args.key?(:email) @expires_in = args[:expires_in] if args.key?(:expires_in) @id_token = args[:id_token] if args.key?(:id_token) @kind = args[:kind] if args.key?(:kind) @local_id = args[:local_id] if args.key?(:local_id) @refresh_token = args[:refresh_token] if args.key?(:refresh_token) end end # Respone of uploading accounts in batch. class UploadAccountResponse include Google::Apis::Core::Hashable # The error encountered while processing the account info. # Corresponds to the JSON property `error` # @return [Array] attr_accessor :error # The fixed string "identitytoolkit#UploadAccountResponse". # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @error = args[:error] if args.key?(:error) @kind = args[:kind] if args.key?(:kind) end # class Error include Google::Apis::Core::Hashable # The index of the malformed account, starting from 0. # Corresponds to the JSON property `index` # @return [Fixnum] attr_accessor :index # Detailed error message for the account info. # Corresponds to the JSON property `message` # @return [String] attr_accessor :message def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @index = args[:index] if args.key?(:index) @message = args[:message] if args.key?(:message) end end end # Template for an individual account info. class UserInfo include Google::Apis::Core::Hashable # User creation timestamp. # Corresponds to the JSON property `createdAt` # @return [Fixnum] attr_accessor :created_at # The custom attributes to be set in the user's id token. # Corresponds to the JSON property `customAttributes` # @return [String] attr_accessor :custom_attributes # Whether the user is authenticated by the developer. # Corresponds to the JSON property `customAuth` # @return [Boolean] attr_accessor :custom_auth alias_method :custom_auth?, :custom_auth # Whether the user is disabled. # Corresponds to the JSON property `disabled` # @return [Boolean] attr_accessor :disabled alias_method :disabled?, :disabled # The name of the user. # Corresponds to the JSON property `displayName` # @return [String] attr_accessor :display_name # The email of the user. # Corresponds to the JSON property `email` # @return [String] attr_accessor :email # Whether the email has been verified. # Corresponds to the JSON property `emailVerified` # @return [Boolean] attr_accessor :email_verified alias_method :email_verified?, :email_verified # last login timestamp. # Corresponds to the JSON property `lastLoginAt` # @return [Fixnum] attr_accessor :last_login_at # The local ID of the user. # Corresponds to the JSON property `localId` # @return [String] attr_accessor :local_id # The user's hashed password. # Corresponds to the JSON property `passwordHash` # NOTE: Values are automatically base64 encoded/decoded in the client library. # @return [String] attr_accessor :password_hash # The timestamp when the password was last updated. # Corresponds to the JSON property `passwordUpdatedAt` # @return [Float] attr_accessor :password_updated_at # User's phone number. # Corresponds to the JSON property `phoneNumber` # @return [String] attr_accessor :phone_number # The URL of the user profile photo. # Corresponds to the JSON property `photoUrl` # @return [String] attr_accessor :photo_url # The IDP of the user. # Corresponds to the JSON property `providerUserInfo` # @return [Array] attr_accessor :provider_user_info # The user's plain text password. # Corresponds to the JSON property `rawPassword` # @return [String] attr_accessor :raw_password # The user's password salt. # Corresponds to the JSON property `salt` # NOTE: Values are automatically base64 encoded/decoded in the client library. # @return [String] attr_accessor :salt # User's screen name at Twitter or login name at Github. # Corresponds to the JSON property `screenName` # @return [String] attr_accessor :screen_name # Timestamp in seconds for valid login token. # Corresponds to the JSON property `validSince` # @return [Fixnum] attr_accessor :valid_since # Version of the user's password. # Corresponds to the JSON property `version` # @return [Fixnum] attr_accessor :version def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @created_at = args[:created_at] if args.key?(:created_at) @custom_attributes = args[:custom_attributes] if args.key?(:custom_attributes) @custom_auth = args[:custom_auth] if args.key?(:custom_auth) @disabled = args[:disabled] if args.key?(:disabled) @display_name = args[:display_name] if args.key?(:display_name) @email = args[:email] if args.key?(:email) @email_verified = args[:email_verified] if args.key?(:email_verified) @last_login_at = args[:last_login_at] if args.key?(:last_login_at) @local_id = args[:local_id] if args.key?(:local_id) @password_hash = args[:password_hash] if args.key?(:password_hash) @password_updated_at = args[:password_updated_at] if args.key?(:password_updated_at) @phone_number = args[:phone_number] if args.key?(:phone_number) @photo_url = args[:photo_url] if args.key?(:photo_url) @provider_user_info = args[:provider_user_info] if args.key?(:provider_user_info) @raw_password = args[:raw_password] if args.key?(:raw_password) @salt = args[:salt] if args.key?(:salt) @screen_name = args[:screen_name] if args.key?(:screen_name) @valid_since = args[:valid_since] if args.key?(:valid_since) @version = args[:version] if args.key?(:version) end # class ProviderUserInfo include Google::Apis::Core::Hashable # The user's display name at the IDP. # Corresponds to the JSON property `displayName` # @return [String] attr_accessor :display_name # User's email at IDP. # Corresponds to the JSON property `email` # @return [String] attr_accessor :email # User's identifier at IDP. # Corresponds to the JSON property `federatedId` # @return [String] attr_accessor :federated_id # User's phone number. # Corresponds to the JSON property `phoneNumber` # @return [String] attr_accessor :phone_number # The user's photo url at the IDP. # Corresponds to the JSON property `photoUrl` # @return [String] attr_accessor :photo_url # 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. # Corresponds to the JSON property `providerId` # @return [String] attr_accessor :provider_id # User's raw identifier directly returned from IDP. # Corresponds to the JSON property `rawId` # @return [String] attr_accessor :raw_id # User's screen name at Twitter or login name at Github. # Corresponds to the JSON property `screenName` # @return [String] attr_accessor :screen_name def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @display_name = args[:display_name] if args.key?(:display_name) @email = args[:email] if args.key?(:email) @federated_id = args[:federated_id] if args.key?(:federated_id) @phone_number = args[:phone_number] if args.key?(:phone_number) @photo_url = args[:photo_url] if args.key?(:photo_url) @provider_id = args[:provider_id] if args.key?(:provider_id) @raw_id = args[:raw_id] if args.key?(:raw_id) @screen_name = args[:screen_name] if args.key?(:screen_name) end end end # Response of verifying the IDP assertion. class VerifyAssertionResponse include Google::Apis::Core::Hashable # The action code. # Corresponds to the JSON property `action` # @return [String] attr_accessor :action # URL for OTA app installation. # Corresponds to the JSON property `appInstallationUrl` # @return [String] attr_accessor :app_installation_url # The custom scheme used by mobile app. # Corresponds to the JSON property `appScheme` # @return [String] attr_accessor :app_scheme # The opaque value used by the client to maintain context info between the # authentication request and the IDP callback. # Corresponds to the JSON property `context` # @return [String] attr_accessor :context # The birth date of the IdP account. # Corresponds to the JSON property `dateOfBirth` # @return [String] attr_accessor :date_of_birth # The display name of the user. # Corresponds to the JSON property `displayName` # @return [String] attr_accessor :display_name # The email returned by the IdP. NOTE: The federated login user may not own the # email. # Corresponds to the JSON property `email` # @return [String] attr_accessor :email # It's true if the email is recycled. # Corresponds to the JSON property `emailRecycled` # @return [Boolean] attr_accessor :email_recycled alias_method :email_recycled?, :email_recycled # The value is true if the IDP is also the email provider. It means the user # owns the email. # Corresponds to the JSON property `emailVerified` # @return [Boolean] attr_accessor :email_verified alias_method :email_verified?, :email_verified # Client error code. # Corresponds to the JSON property `errorMessage` # @return [String] attr_accessor :error_message # If idToken is STS id token, then this field will be expiration time of STS id # token in seconds. # Corresponds to the JSON property `expiresIn` # @return [Fixnum] attr_accessor :expires_in # The unique ID identifies the IdP account. # Corresponds to the JSON property `federatedId` # @return [String] attr_accessor :federated_id # The first name of the user. # Corresponds to the JSON property `firstName` # @return [String] attr_accessor :first_name # The full name of the user. # Corresponds to the JSON property `fullName` # @return [String] attr_accessor :full_name # The ID token. # Corresponds to the JSON property `idToken` # @return [String] attr_accessor :id_token # 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. # Corresponds to the JSON property `inputEmail` # @return [String] attr_accessor :input_email # True if it's a new user sign-in, false if it's a returning user. # Corresponds to the JSON property `isNewUser` # @return [Boolean] attr_accessor :is_new_user alias_method :is_new_user?, :is_new_user # The fixed string "identitytoolkit#VerifyAssertionResponse". # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # The language preference of the user. # Corresponds to the JSON property `language` # @return [String] attr_accessor :language # The last name of the user. # Corresponds to the JSON property `lastName` # @return [String] attr_accessor :last_name # The RP local ID if it's already been mapped to the IdP account identified by # the federated ID. # Corresponds to the JSON property `localId` # @return [String] attr_accessor :local_id # Whether the assertion is from a non-trusted IDP and need account linking # confirmation. # Corresponds to the JSON property `needConfirmation` # @return [Boolean] attr_accessor :need_confirmation alias_method :need_confirmation?, :need_confirmation # Whether need client to supply email to complete the federated login flow. # Corresponds to the JSON property `needEmail` # @return [Boolean] attr_accessor :need_email alias_method :need_email?, :need_email # The nick name of the user. # Corresponds to the JSON property `nickName` # @return [String] attr_accessor :nick_name # The OAuth2 access token. # Corresponds to the JSON property `oauthAccessToken` # @return [String] attr_accessor :oauth_access_token # The OAuth2 authorization code. # Corresponds to the JSON property `oauthAuthorizationCode` # @return [String] attr_accessor :oauth_authorization_code # The lifetime in seconds of the OAuth2 access token. # Corresponds to the JSON property `oauthExpireIn` # @return [Fixnum] attr_accessor :oauth_expire_in # The OIDC id token. # Corresponds to the JSON property `oauthIdToken` # @return [String] attr_accessor :oauth_id_token # The user approved request token for the OpenID OAuth extension. # Corresponds to the JSON property `oauthRequestToken` # @return [String] attr_accessor :oauth_request_token # The scope for the OpenID OAuth extension. # Corresponds to the JSON property `oauthScope` # @return [String] attr_accessor :oauth_scope # The OAuth1 access token secret. # Corresponds to the JSON property `oauthTokenSecret` # @return [String] attr_accessor :oauth_token_secret # The original email stored in the mapping storage. It's returned when the # federated ID is associated to a different email. # Corresponds to the JSON property `originalEmail` # @return [String] attr_accessor :original_email # The URI of the public accessible profiel picture. # Corresponds to the JSON property `photoUrl` # @return [String] attr_accessor :photo_url # 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. # Corresponds to the JSON property `providerId` # @return [String] attr_accessor :provider_id # Raw IDP-returned user info. # Corresponds to the JSON property `rawUserInfo` # @return [String] attr_accessor :raw_user_info # If idToken is STS id token, then this field will be refresh token. # Corresponds to the JSON property `refreshToken` # @return [String] attr_accessor :refresh_token # The screen_name of a Twitter user or the login name at Github. # Corresponds to the JSON property `screenName` # @return [String] attr_accessor :screen_name # The timezone of the user. # Corresponds to the JSON property `timeZone` # @return [String] attr_accessor :time_zone # When action is 'map', contains the idps which can be used for confirmation. # Corresponds to the JSON property `verifiedProvider` # @return [Array] attr_accessor :verified_provider def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @action = args[:action] if args.key?(:action) @app_installation_url = args[:app_installation_url] if args.key?(:app_installation_url) @app_scheme = args[:app_scheme] if args.key?(:app_scheme) @context = args[:context] if args.key?(:context) @date_of_birth = args[:date_of_birth] if args.key?(:date_of_birth) @display_name = args[:display_name] if args.key?(:display_name) @email = args[:email] if args.key?(:email) @email_recycled = args[:email_recycled] if args.key?(:email_recycled) @email_verified = args[:email_verified] if args.key?(:email_verified) @error_message = args[:error_message] if args.key?(:error_message) @expires_in = args[:expires_in] if args.key?(:expires_in) @federated_id = args[:federated_id] if args.key?(:federated_id) @first_name = args[:first_name] if args.key?(:first_name) @full_name = args[:full_name] if args.key?(:full_name) @id_token = args[:id_token] if args.key?(:id_token) @input_email = args[:input_email] if args.key?(:input_email) @is_new_user = args[:is_new_user] if args.key?(:is_new_user) @kind = args[:kind] if args.key?(:kind) @language = args[:language] if args.key?(:language) @last_name = args[:last_name] if args.key?(:last_name) @local_id = args[:local_id] if args.key?(:local_id) @need_confirmation = args[:need_confirmation] if args.key?(:need_confirmation) @need_email = args[:need_email] if args.key?(:need_email) @nick_name = args[:nick_name] if args.key?(:nick_name) @oauth_access_token = args[:oauth_access_token] if args.key?(:oauth_access_token) @oauth_authorization_code = args[:oauth_authorization_code] if args.key?(:oauth_authorization_code) @oauth_expire_in = args[:oauth_expire_in] if args.key?(:oauth_expire_in) @oauth_id_token = args[:oauth_id_token] if args.key?(:oauth_id_token) @oauth_request_token = args[:oauth_request_token] if args.key?(:oauth_request_token) @oauth_scope = args[:oauth_scope] if args.key?(:oauth_scope) @oauth_token_secret = args[:oauth_token_secret] if args.key?(:oauth_token_secret) @original_email = args[:original_email] if args.key?(:original_email) @photo_url = args[:photo_url] if args.key?(:photo_url) @provider_id = args[:provider_id] if args.key?(:provider_id) @raw_user_info = args[:raw_user_info] if args.key?(:raw_user_info) @refresh_token = args[:refresh_token] if args.key?(:refresh_token) @screen_name = args[:screen_name] if args.key?(:screen_name) @time_zone = args[:time_zone] if args.key?(:time_zone) @verified_provider = args[:verified_provider] if args.key?(:verified_provider) end end # Response from verifying a custom token class VerifyCustomTokenResponse include Google::Apis::Core::Hashable # If idToken is STS id token, then this field will be expiration time of STS id # token in seconds. # Corresponds to the JSON property `expiresIn` # @return [Fixnum] attr_accessor :expires_in # The GITKit token for authenticated user. # Corresponds to the JSON property `idToken` # @return [String] attr_accessor :id_token # True if it's a new user sign-in, false if it's a returning user. # Corresponds to the JSON property `isNewUser` # @return [Boolean] attr_accessor :is_new_user alias_method :is_new_user?, :is_new_user # The fixed string "identitytoolkit#VerifyCustomTokenResponse". # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # If idToken is STS id token, then this field will be refresh token. # Corresponds to the JSON property `refreshToken` # @return [String] attr_accessor :refresh_token def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @expires_in = args[:expires_in] if args.key?(:expires_in) @id_token = args[:id_token] if args.key?(:id_token) @is_new_user = args[:is_new_user] if args.key?(:is_new_user) @kind = args[:kind] if args.key?(:kind) @refresh_token = args[:refresh_token] if args.key?(:refresh_token) end end # Request of verifying the password. class VerifyPasswordResponse include Google::Apis::Core::Hashable # The name of the user. # Corresponds to the JSON property `displayName` # @return [String] attr_accessor :display_name # The email returned by the IdP. NOTE: The federated login user may not own the # email. # Corresponds to the JSON property `email` # @return [String] attr_accessor :email # If idToken is STS id token, then this field will be expiration time of STS id # token in seconds. # Corresponds to the JSON property `expiresIn` # @return [Fixnum] attr_accessor :expires_in # The GITKit token for authenticated user. # Corresponds to the JSON property `idToken` # @return [String] attr_accessor :id_token # The fixed string "identitytoolkit#VerifyPasswordResponse". # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # The RP local ID if it's already been mapped to the IdP account identified by # the federated ID. # Corresponds to the JSON property `localId` # @return [String] attr_accessor :local_id # The OAuth2 access token. # Corresponds to the JSON property `oauthAccessToken` # @return [String] attr_accessor :oauth_access_token # The OAuth2 authorization code. # Corresponds to the JSON property `oauthAuthorizationCode` # @return [String] attr_accessor :oauth_authorization_code # The lifetime in seconds of the OAuth2 access token. # Corresponds to the JSON property `oauthExpireIn` # @return [Fixnum] attr_accessor :oauth_expire_in # The URI of the user's photo at IdP # Corresponds to the JSON property `photoUrl` # @return [String] attr_accessor :photo_url # If idToken is STS id token, then this field will be refresh token. # Corresponds to the JSON property `refreshToken` # @return [String] attr_accessor :refresh_token # Whether the email is registered. # Corresponds to the JSON property `registered` # @return [Boolean] attr_accessor :registered alias_method :registered?, :registered def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @display_name = args[:display_name] if args.key?(:display_name) @email = args[:email] if args.key?(:email) @expires_in = args[:expires_in] if args.key?(:expires_in) @id_token = args[:id_token] if args.key?(:id_token) @kind = args[:kind] if args.key?(:kind) @local_id = args[:local_id] if args.key?(:local_id) @oauth_access_token = args[:oauth_access_token] if args.key?(:oauth_access_token) @oauth_authorization_code = args[:oauth_authorization_code] if args.key?(:oauth_authorization_code) @oauth_expire_in = args[:oauth_expire_in] if args.key?(:oauth_expire_in) @photo_url = args[:photo_url] if args.key?(:photo_url) @refresh_token = args[:refresh_token] if args.key?(:refresh_token) @registered = args[:registered] if args.key?(:registered) end end end end end