Files
firebase-ios-sdk/Firebase/Auth/Source/RPCs/FIRVerifyPhoneNumberRequest.m
T
2017-05-15 12:27:07 -07:00

98 lines
3.0 KiB
Objective-C

/*
* 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 "FIRVerifyPhoneNumberRequest.h"
NS_ASSUME_NONNULL_BEGIN
/** @var kVerifyPhoneNumberEndPoint
@brief The "verifyPhoneNumber" endpoint.
*/
static NSString *const kVerifyPhoneNumberEndPoint = @"verifyPhoneNumber";
/** @var kVerificationIDKey
@brief The key for the verification ID parameter in the request.
*/
static NSString *const kVerificationIDKey = @"sessionInfo";
/** @var kVerificationCodeKey
@brief The key for the verification code parameter in the request.
*/
static NSString *const kVerificationCodeKey = @"code";
/** @var kIDTokenKey
@brief The key for the "ID Token" value in the request.
*/
static NSString *const kIDTokenKey = @"idToken";
/** @var kTemporaryProofKey
@brief The key for the temporary proof value in the request.
*/
static NSString *const kTemporaryProofKey = @"temporaryProof";
/** @var kPhoneNumberKey
@brief The key for the phone number value in the request.
*/
static NSString *const kPhoneNumberKey = @"phoneNumber";
@implementation FIRVerifyPhoneNumberRequest
- (nullable instancetype)initWithTemporaryProof:(NSString *)temporaryProof
phoneNumber:(NSString *)phoneNumber
APIKey:(NSString *)APIKey {
self = [super initWithEndpoint:kVerifyPhoneNumberEndPoint APIKey:APIKey];
if (self) {
_temporaryProof = [temporaryProof copy];
_phoneNumber = [phoneNumber copy];
}
return self;
}
- (nullable instancetype)initWithVerificationID:(NSString *)verificationID
verificationCode:(NSString *)verificationCode
APIKey:(NSString *)APIKey {
self = [super initWithEndpoint:kVerifyPhoneNumberEndPoint APIKey:APIKey];
if (self) {
_verificationID = verificationID;
_verificationCode = verificationCode;
}
return self;
}
- (nullable id)unencodedHTTPRequestBodyWithError:(NSError *__autoreleasing _Nullable *)error {
NSMutableDictionary *postBody = [NSMutableDictionary dictionary];
if (_verificationID) {
postBody[kVerificationIDKey] = _verificationID;
}
if (_verificationCode) {
postBody[kVerificationCodeKey] = _verificationCode;
}
if (_accessToken) {
postBody[kIDTokenKey] = _accessToken;
}
if (_temporaryProof) {
postBody[kTemporaryProofKey] = _temporaryProof;
}
if (_phoneNumber) {
postBody[kPhoneNumberKey] = _phoneNumber;
}
return postBody;
}
@end
NS_ASSUME_NONNULL_END