/* * Copyright 2017 Google * * 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. */ #import #import "FIRAuthRPCRequest.h" #import "FIRIdentityToolkitRequest.h" @class FIRGetAccountInfoResponse; NS_ASSUME_NONNULL_BEGIN /** @var FIRSetAccountInfoUserAttributeEmail @brief Constant for email attribute used in "deleteAttributes". */ extern NSString *const FIRSetAccountInfoUserAttributeEmail; /** @var FIRSetAccountInfoUserAttributeDisplayName @brief Constant for displayName attribute used in "deleteAttributes". */ extern NSString *const FIRSetAccountInfoUserAttributeDisplayName; /** @var FIRSetAccountInfoUserAttributeProvider @brief Constant for provider attribute used in "deleteAttributes". */ extern NSString *const FIRSetAccountInfoUserAttributeProvider; /** @var FIRSetAccountInfoUserAttributePhotoURL @brief Constant for photoURL attribute used in "deleteAttributes". */ extern NSString *const FIRSetAccountInfoUserAttributePhotoURL; /** @var FIRSetAccountInfoUserAttributePassword @brief Constant for password attribute used in "deleteAttributes". */ extern NSString *const FIRSetAccountInfoUserAttributePassword; /** @class FIRSetAccountInfoRequest @brief Represents the parameters for the setAccountInfo endpoint. @see https://developers.google.com/identity/toolkit/web/reference/relyingparty/setAccountInfo */ @interface FIRSetAccountInfoRequest : FIRIdentityToolkitRequest /** @property accessToken @brief The STS Access Token of the authenticated user. */ @property(nonatomic, copy, nullable) NSString *accessToken; /** @property displayName @brief The name of the user. */ @property(nonatomic, copy, nullable) NSString *displayName; /** @property localID @brief The local ID of the user. */ @property(nonatomic, copy, nullable) NSString *localID; /** @property email @brief The email of the user. */ @property(nonatomic, copy, nullable) NSString *email; /** @property photoURL @brief The photoURL of the user. */ @property(nonatomic, copy, nullable) NSURL *photoURL; /** @property password @brief The new password of the user. */ @property(nonatomic, copy, nullable) NSString *password; /** @property providers @brief The associated identity providers of the user. */ @property(nonatomic, copy, nullable) NSArray *providers; /** @property OOBCode @brief The out-of-band code of the change email request. */ @property(nonatomic, copy, nullable) NSString *OOBCode; /** @property emailVerified @brief Whether to mark the email as verified or not. */ @property(nonatomic, assign) BOOL emailVerified; /** @property upgradeToFederatedLogin @brief Whether to mark the user to upgrade to federated login. */ @property(nonatomic, assign) BOOL upgradeToFederatedLogin; /** @property captchaChallenge @brief The captcha challenge. */ @property(nonatomic, copy, nullable) NSString *captchaChallenge; /** @property captchaResponse @brief Response to the captcha. */ @property(nonatomic, copy, nullable) NSString *captchaResponse; /** @property deleteAttributes @brief The list of user attributes to delete. @remarks Every element of the list must be one of the predefined constant starts with "FIRSetAccountInfoUserAttribute". */ @property(nonatomic, copy, nullable) NSArray *deleteAttributes; /** @property deleteProviders @brief The list of identity providers to delete. */ @property(nonatomic, copy, nullable) NSArray *deleteProviders; /** @property returnSecureToken @brief Whether the response should return access token and refresh token directly. @remarks The default value is @c YES . */ @property(nonatomic, assign) BOOL returnSecureToken; /** @fn initWithEndpoint:APIKey: @brief Please use initWithAPIKey: */ - (nullable instancetype)initWithEndpoint:(NSString *)endpoint APIKey:(NSString *)APIKey NS_UNAVAILABLE; /** @fn initWithAPIKey: @brief Designated initializer. @param APIKey The client's API Key. */ - (nullable instancetype)initWithAPIKey:(NSString *)APIKey NS_DESIGNATED_INITIALIZER; @end NS_ASSUME_NONNULL_END