FirebaseAuth Framework Reference

Classes

The following classes are available globally.

  • Manages information regarding action codes.

    Declaration

    Swift

    @objc(FIRActionCodeInfo)openclassActionCodeInfo:NSObject,@uncheckedSendable
  • Used to set and retrieve settings related to handling action codes.

    Declaration

    Swift

    @objc(FIRActionCodeSettings)openclassActionCodeSettings:NSObject,@uncheckedSendable
  • This class will allow developers to easily extract information about out of band links.

    Declaration

    Swift

    @objc(FIRActionCodeURL)openclassActionCodeURL:NSObject,@uncheckedSendable
  • Manages authentication for Firebase apps.

    This class is thread-safe.

    Declaration

    Swift

    @available(iOS13,tvOS13,macOS10.15,watchOS7,*)@preconcurrency@objc(FIRAuth)openclassAuth:NSObject
    extensionAuth:UISceneDelegate
    extensionAuth:UIApplicationDelegate
    extensionAuth:AuthInterop
  • Helper object that contains the result of a successful sign-in, link and reauthenticateaction.

    It contains references to aUser instance and anAdditionalUserInfo instance.

    Declaration

    Swift

    @available(iOS13,tvOS13,macOS10.15,watchOS7,*)@objc(FIRAuthDataResult)openclassAuthDataResult:NSObject
    extensionAuthDataResult:NSSecureCoding
  • Determines settings related to an auth object.

    Declaration

    Swift

    @objc(FIRAuthSettings)openclassAuthSettings:NSObject,NSCopying
  • A data class containing the ID token JWT string and other properties associated with thetoken including the decoded payload claims.

    Declaration

    Swift

    @available(iOS13,tvOS13,macOS10.15,watchOS7,*)@objc(FIRAuthTokenResult)openclassAuthTokenResult:NSObject
    extensionAuthTokenResult:NSSecureCoding
  • Public representation of a credential.

    Declaration

    Swift

    @available(iOS13,tvOS13,macOS10.15,watchOS7,*)@objc(FIRAuthCredential)openclassAuthCredential:NSObject,@uncheckedSendable
  • A concrete implementation ofAuthProvider for Email & Password Sign In.

    Declaration

    Swift

    @available(iOS13,tvOS13,macOS10.15,watchOS7,*)@objc(FIREmailAuthProvider)openclassEmailAuthProvider:NSObject
  • Utility class for constructing Facebook Sign In credentials.

    Declaration

    Swift

    @available(iOS13,tvOS13,macOS10.15,watchOS7,*)@objc(FIRFacebookAuthProvider)openclassFacebookAuthProvider:NSObject
  • A concrete implementation ofAuthProvider for Game Center Sign In. Not available on watchOS.

    Declaration

    Swift

    @available(iOS13,tvOS13,macOS10.15,watchOS7,*)@objc(FIRGameCenterAuthProvider)openclassGameCenterAuthProvider:NSObject
  • Utility class for constructing GitHub Sign In credentials.

    Declaration

    Swift

    @available(iOS13,tvOS13,macOS10.15,watchOS7,*)@objc(FIRGitHubAuthProvider)openclassGitHubAuthProvider:NSObject
  • Utility class for constructing Google Sign In credentials.

    Declaration

    Swift

    @available(iOS13,tvOS13,macOS10.15,watchOS7,*)@objc(FIRGoogleAuthProvider)openclassGoogleAuthProvider:NSObject
  • Internal implementation ofAuthCredential for generic credentials.

    Declaration

    Swift

    @available(iOS13,tvOS13,macOS10.15,watchOS7,*)@objc(FIROAuthCredential)openclassOAuthCredential:AuthCredential,NSSecureCoding,@uncheckedSendable
  • Utility class for constructing OAuth Sign In credentials.

    Declaration

    Swift

    @available(iOS13,tvOS13,macOS10.15,watchOS7,*)@objc(FIROAuthProvider)openclassOAuthProvider:NSObject,FederatedAuthProvider
  • Implementation of AuthCredential for Phone Auth credentials.

    This class is available on iOS only.

    Declaration

    Swift

    @available(iOS13,tvOS13,macOS10.15,watchOS7,*)@objc(FIRPhoneAuthCredential)openclassPhoneAuthCredential:AuthCredential,NSSecureCoding,@uncheckedSendable
  • A concrete implementation ofAuthProvider for phone auth providers.

    This class is available on iOS only.

    Declaration

    Swift

    @available(iOS13,tvOS13,macOS10.15,watchOS7,*)@objc(FIRPhoneAuthProvider)openclassPhoneAuthProvider:NSObject,@uncheckedSendable
  • Utility class for constructing Twitter Sign In credentials.

    Declaration

    Swift

    @available(iOS13,tvOS13,macOS10.15,watchOS7,*)@objc(FIRTwitterAuthProvider)openclassTwitterAuthProvider:NSObject
  • The interface defining the multi factor related properties and operations pertaining to auser.

    This class is available on iOS and macOS.

    Declaration

    Swift

    @available(iOS13,tvOS13,macOS10.15,watchOS7,*)@objc(FIRMultiFactor)openclassMultiFactor:NSObject
    extensionMultiFactor:NSSecureCoding
  • The base class for asserting ownership of a second factor. This is equivalent to the AuthCredential class.

    This class is available on iOS and macOS.

    Declaration

    Swift

    @objc(FIRMultiFactorAssertion)openclassMultiFactorAssertion:NSObject
  • Safe public structure used to represent a second factor entity from a client perspective.

    This class is available on iOS and macOS.

    Declaration

    Swift

    @objc(FIRMultiFactorInfo)openclassMultiFactorInfo:NSObject,@uncheckedSendable
    extensionMultiFactorInfo:NSSecureCoding
  • The subclass of base classMultiFactorAssertion, used to assert ownership of a phonesecond factor.

    This class is available on iOS and macOS.

    Declaration

    Swift

    @available(iOS13,tvOS13,macOS10.15,watchOS7,*)@objc(FIRMultiFactorResolver)openclassMultiFactorResolver:NSObject
  • Opaque object that identifies the current session to enroll a second factor or tocomplete sign in when previously enrolled.

    Identifies the current session to enroll a second factoror to complete sign in when previously enrolled. It contains additional context on theexisting user, notably the confirmation that the user passed the first factor challenge.

    This class is available on iOS and macOS.

    Declaration

    Swift

    @available(iOS13,tvOS13,macOS10.15,watchOS7,*)@objc(FIRMultiFactorSession)openclassMultiFactorSession:NSObject
  • The subclass of base class FIRMultiFactorAssertion, used to assert ownership of a phonesecond factor.

    This class is available on iOS and macOS.

    Declaration

    Swift

    @available(iOS13,tvOS13,macOS10.15,watchOS7,*)@objc(FIRPhoneMultiFactorAssertion)openclassPhoneMultiFactorAssertion:MultiFactorAssertion
  • The data structure used to help initialize an assertion for a second factor entity to theFirebase Auth/CICP server.

    Depending on the type of second factor, this will help generate the assertion.

    This class is available on iOS and macOS.

    Declaration

    Swift

    @available(iOS13,tvOS13,macOS10.15,watchOS7,*)@objc(FIRPhoneMultiFactorGenerator)openclassPhoneMultiFactorGenerator:NSObject
  • Extends the MultiFactorInfo class for phone number second factors.

    The identifier of this second factor is “phone”.

    This class is available on iOS and macOS.

    Declaration

    Swift

    @objc(FIRPhoneMultiFactorInfo)openclassPhoneMultiFactorInfo:MultiFactorInfo,@uncheckedSendable
  • The subclass of base class MultiFactorAssertion, used to assert ownership of a TOTP(Time-based One Time Password) second factor.

    This class is available on iOS and macOS.

    Declaration

    Swift

    @objc(FIRTOTPMultiFactorAssertion)openclassTOTPMultiFactorAssertion:MultiFactorAssertion
  • The data structure used to help initialize an assertion for a second factor entity to theFirebase Auth/CICP server. Depending on the type of second factor, this will help generatethe assertion.

    This class is available on iOS and macOS.

    Declaration

    Swift

    @available(iOS13,tvOS13,macOS10.15,watchOS7,*)@objc(FIRTOTPMultiFactorGenerator)openclassTOTPMultiFactorGenerator:NSObject
  • The subclass of base class MultiFactorAssertion, used to assert ownership of a TOTP(Time-based One Time Password) second factor.

    This class is available on iOS and macOS.

    Declaration

    Swift

    @objc(FIRTOTPSecret)openclassTOTPSecret:NSObject
  • Undocumented

    Declaration

    Swift

    @objc(FIRAdditionalUserInfo)openclassAdditionalUserInfo:NSObject
    extensionAdditionalUserInfo:NSSecureCoding
  • Represents a user.

    Firebase Auth does not attempt to validate userswhen loading them from the keychain. Invalidated users (such as thosewhose passwords have been changed on another client) are automaticallylogged out when an auth-dependent operation is attempted or when theID token is automatically refreshed.

    This class is thread-safe.

    Declaration

    Swift

    @available(iOS13,tvOS13,macOS10.15,watchOS7,*)@objc(FIRUser)openclassUser:NSObject,UserInfo
    extensionUser:NSSecureCoding
  • A data class representing the metadata corresponding to a Firebase user.

    Declaration

    Swift

    @available(iOS13,tvOS13,macOS10.15,watchOS7,*)@objc(FIRUserMetadata)openclassUserMetadata:NSObject
    extensionUserMetadata:NSSecureCoding
  • Represents an object capable of updating a user’s profile data.

    Properties are marked as being part of a profile update when they are set. Setting aproperty value to nil is not the same as leaving the property unassigned.

    Declaration

    Swift

    @available(iOS13,tvOS13,macOS10.15,watchOS7,*)@objc(FIRUserProfileChangeRequest)openclassUserProfileChangeRequest:NSObject
  • Error Codes common to all API Methods:

    Declaration

    Swift

    @objc(FIRAuthErrors)openclassAuthErrors:NSObject

Except as otherwise noted, the content of this page is licensed under theCreative Commons Attribution 4.0 License, and code samples are licensed under theApache 2.0 License. For details, see theGoogle Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.

Last updated 2025-08-27 UTC.