Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions FirebaseAuth/Sources/Swift/Backend/AuthBackend.swift
Original file line number Diff line number Diff line change
Expand Up @@ -485,6 +485,8 @@ private class AuthBackendRPCImplementation: NSObject, AuthBackendImplementation
.missingAppCredential(message: serverDetailErrorMessage)
case "INVALID_CODE": return AuthErrorUtils
.invalidVerificationCodeError(message: serverDetailErrorMessage)
case "INVALID_HOSTING_LINK_DOMAIN": return AuthErrorUtils
.invalidHostingLinkDomainError(message: serverDetailErrorMessage)
case "INVALID_SESSION_INFO": return AuthErrorUtils
.invalidVerificationIDError(message: serverDetailErrorMessage)
case "SESSION_EXPIRED": return AuthErrorUtils
Expand Down
4 changes: 4 additions & 0 deletions FirebaseAuth/Sources/Swift/Utilities/AuthErrorUtils.swift
Original file line number Diff line number Diff line change
Expand Up @@ -366,6 +366,10 @@ class AuthErrorUtils: NSObject {
error(code: .invalidDynamicLinkDomain, message: message)
}

static func invalidHostingLinkDomainError(message: String?) -> Error {
error(code: .invalidHostingLinkDomain, message: message)
}

static func missingOrInvalidNonceError(message: String?) -> Error {
error(code: .missingOrInvalidNonce, message: message)
}
Expand Down
10 changes: 10 additions & 0 deletions FirebaseAuth/Sources/Swift/Utilities/AuthErrors.swift
Original file line number Diff line number Diff line change
Expand Up @@ -258,6 +258,9 @@ import Foundation
/// unauthorized for the current project.
case invalidDynamicLinkDomain = 17074

/// Indicates that the provided Firebase Hosting Link domain is not owned by the current project.
case invalidHostingLinkDomain = 17214

/// Indicates that the credential is rejected because it's malformed or mismatching.
case rejectedCredential = 17075

Expand Down Expand Up @@ -468,6 +471,8 @@ import Foundation
return kErrorInvalidProviderID
case .invalidDynamicLinkDomain:
return kErrorInvalidDynamicLinkDomain
case .invalidHostingLinkDomain:
return kErrorInvalidHostingLinkDomain
case .webInternalError:
return kErrorWebInternalError
case .webSignInUserInteractionFailure:
Expand Down Expand Up @@ -661,6 +666,8 @@ import Foundation
return "ERROR_INVALID_PROVIDER_ID"
case .invalidDynamicLinkDomain:
return "ERROR_INVALID_DYNAMIC_LINK_DOMAIN"
case .invalidHostingLinkDomain:
return "ERROR_INVALID_HOSTING_LINK_DOMAIN"
case .webInternalError:
return "ERROR_WEB_INTERNAL_ERROR"
case .webSignInUserInteractionFailure:
Expand Down Expand Up @@ -905,6 +912,9 @@ private let kErrorInvalidProviderID =
private let kErrorInvalidDynamicLinkDomain =
"The Firebase Dynamic Link domain used is either not configured or is unauthorized for the current project."

private let kErrorInvalidHostingLinkDomain =
"The provided hosting link domain is not configured in Firebase Hosting or is not owned by the current project."

private let kErrorInternalError =
"An internal error has occurred, print and inspect the error details for more information."

Expand Down
2 changes: 2 additions & 0 deletions FirebaseAuth/Tests/Unit/ObjCAPITests.m
Original file line number Diff line number Diff line change
Expand Up @@ -65,6 +65,7 @@ - (void)FIRActionCodeSettings_h {
s = [codeSettings androidPackageName];
s = [codeSettings androidMinimumVersion];
s = [codeSettings dynamicLinkDomain];
s = [codeSettings linkDomain];
}

- (void)FIRAuthAdditionalUserInfo_h:(FIRAdditionalUserInfo *)additionalUserInfo {
Expand Down Expand Up @@ -280,6 +281,7 @@ - (void)FIRAuthErrors_h {
c = FIRAuthErrorCodeTenantIDMismatch;
c = FIRAuthErrorCodeUnsupportedTenantOperation;
c = FIRAuthErrorCodeInvalidDynamicLinkDomain;
c = FIRAuthErrorCodeInvalidHostingLinkDomain;
c = FIRAuthErrorCodeRejectedCredential;
c = FIRAuthErrorCodeGameKitNotLinked;
c = FIRAuthErrorCodeSecondFactorRequired;
Expand Down
4 changes: 3 additions & 1 deletion FirebaseAuth/Tests/Unit/SwiftAPI.swift
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,8 @@ class AuthAPI_hOnlyTests: XCTestCase {
let _: String = codeSettings.iOSBundleID,
let _: String = codeSettings.androidPackageName,
let _: String = codeSettings.androidMinimumVersion,
let _: String = codeSettings.dynamicLinkDomain {}
let _: String = codeSettings.dynamicLinkDomain,
let _: String = codeSettings.linkDomain {}
}

@available(iOS 13, tvOS 13, macOS 10.15, macCatalyst 13, watchOS 7, *)
Expand Down Expand Up @@ -276,6 +277,7 @@ class AuthAPI_hOnlyTests: XCTestCase {
_ = AuthErrorCode.tenantIDMismatch
_ = AuthErrorCode.unsupportedTenantOperation
_ = AuthErrorCode.invalidDynamicLinkDomain
_ = AuthErrorCode.invalidHostingLinkDomain
_ = AuthErrorCode.rejectedCredential
_ = AuthErrorCode.gameKitNotLinked
_ = AuthErrorCode.secondFactorRequired
Expand Down