firebase / firebase-ios-sdk

Firebase SDK for Apple App Development
https://firebase.google.com
Apache License 2.0
5.62k stars 1.47k forks source link

signInWithCustomToken returning no error and no auth result #11414

Closed johnfrancmartin closed 2 months ago

johnfrancmartin commented 1 year ago

Description

We generated a custom token using the admin SDK on our server, and sporadically when we sign in with these tokens, signInWithCustomToken returns neither an auth'd object nor an error.

In some of these cases, the state appears to recover over time, but in many this results in the user object continuing to be missing, causing significant issues for our app to properly access Firebase resources.

Reproducing the issue

Auth.auth().signIn(withCustomToken: token) { authResult, error in
      if let error = error {
          print("ERROR | signInWithCustomFirebaseToken | \(error.localizedDescription) | \(error)")
      } else if authResult == nil {
          print("INFO | signInWithCustomFirebaseToken | no error but authResult == nil")
      }  else {
          print("INFO | signInWithCustomFirebaseToken")
      }
}

Firebase SDK Version

9.1.0

Xcode Version

14.3

Installation Method

CocoaPods

Firebase Product(s)

Authentication

Targeted Platforms

iOS

Relevant Log Output

No response

If using Swift Package Manager, the project's Package.resolved

Expand Package.resolved snippet
```json Replace this line with the contents of your Package.resolved. ```

If using CocoaPods, the project's Podfile.lock

Expand Podfile.lock snippet
```yml PODS: - abseil/algorithm (1.20211102.0): - abseil/algorithm/algorithm (= 1.20211102.0) - abseil/algorithm/container (= 1.20211102.0) - abseil/algorithm/algorithm (1.20211102.0): - abseil/base/config - abseil/algorithm/container (1.20211102.0): - abseil/algorithm/algorithm - abseil/base/core_headers - abseil/meta/type_traits - abseil/base (1.20211102.0): - abseil/base/atomic_hook (= 1.20211102.0) - abseil/base/base (= 1.20211102.0) - abseil/base/base_internal (= 1.20211102.0) - abseil/base/config (= 1.20211102.0) - abseil/base/core_headers (= 1.20211102.0) - abseil/base/dynamic_annotations (= 1.20211102.0) - abseil/base/endian (= 1.20211102.0) - abseil/base/errno_saver (= 1.20211102.0) - abseil/base/fast_type_id (= 1.20211102.0) - abseil/base/log_severity (= 1.20211102.0) - abseil/base/malloc_internal (= 1.20211102.0) - abseil/base/pretty_function (= 1.20211102.0) - abseil/base/raw_logging_internal (= 1.20211102.0) - abseil/base/spinlock_wait (= 1.20211102.0) - abseil/base/strerror (= 1.20211102.0) - abseil/base/throw_delegate (= 1.20211102.0) - abseil/base/atomic_hook (1.20211102.0): - abseil/base/config - abseil/base/core_headers - abseil/base/base (1.20211102.0): - abseil/base/atomic_hook - abseil/base/base_internal - abseil/base/config - abseil/base/core_headers - abseil/base/dynamic_annotations - abseil/base/log_severity - abseil/base/raw_logging_internal - abseil/base/spinlock_wait - abseil/meta/type_traits - abseil/base/base_internal (1.20211102.0): - abseil/base/config - abseil/meta/type_traits - abseil/base/config (1.20211102.0) - abseil/base/core_headers (1.20211102.0): - abseil/base/config - abseil/base/dynamic_annotations (1.20211102.0): - abseil/base/config - abseil/base/core_headers - abseil/base/endian (1.20211102.0): - abseil/base/base - abseil/base/config - abseil/base/core_headers - abseil/base/errno_saver (1.20211102.0): - abseil/base/config - abseil/base/fast_type_id (1.20211102.0): - abseil/base/config - abseil/base/log_severity (1.20211102.0): - abseil/base/config - abseil/base/core_headers - abseil/base/malloc_internal (1.20211102.0): - abseil/base/base - abseil/base/base_internal - abseil/base/config - abseil/base/core_headers - abseil/base/dynamic_annotations - abseil/base/raw_logging_internal - abseil/base/pretty_function (1.20211102.0) - abseil/base/raw_logging_internal (1.20211102.0): - abseil/base/atomic_hook - abseil/base/config - abseil/base/core_headers - abseil/base/log_severity - abseil/base/spinlock_wait (1.20211102.0): - abseil/base/base_internal - abseil/base/core_headers - abseil/base/errno_saver - abseil/base/strerror (1.20211102.0): - abseil/base/config - abseil/base/core_headers - abseil/base/errno_saver - abseil/base/throw_delegate (1.20211102.0): - abseil/base/config - abseil/base/raw_logging_internal - abseil/container/common (1.20211102.0): - abseil/meta/type_traits - abseil/types/optional - abseil/container/compressed_tuple (1.20211102.0): - abseil/utility/utility - abseil/container/container_memory (1.20211102.0): - abseil/base/config - abseil/memory/memory - abseil/meta/type_traits - abseil/utility/utility - abseil/container/fixed_array (1.20211102.0): - abseil/algorithm/algorithm - abseil/base/config - abseil/base/core_headers - abseil/base/dynamic_annotations - abseil/base/throw_delegate - abseil/container/compressed_tuple - abseil/memory/memory - abseil/container/flat_hash_map (1.20211102.0): - abseil/algorithm/container - abseil/container/container_memory - abseil/container/hash_function_defaults - abseil/container/raw_hash_map - abseil/memory/memory - abseil/container/hash_function_defaults (1.20211102.0): - abseil/base/config - abseil/hash/hash - abseil/strings/cord - abseil/strings/strings - abseil/container/hash_policy_traits (1.20211102.0): - abseil/meta/type_traits - abseil/container/hashtable_debug_hooks (1.20211102.0): - abseil/base/config - abseil/container/hashtablez_sampler (1.20211102.0): - abseil/base/base - abseil/base/core_headers - abseil/container/have_sse - abseil/debugging/stacktrace - abseil/memory/memory - abseil/profiling/exponential_biased - abseil/profiling/sample_recorder - abseil/synchronization/synchronization - abseil/utility/utility - abseil/container/have_sse (1.20211102.0) - abseil/container/inlined_vector (1.20211102.0): - abseil/algorithm/algorithm - abseil/base/core_headers - abseil/base/throw_delegate - abseil/container/inlined_vector_internal - abseil/memory/memory - abseil/container/inlined_vector_internal (1.20211102.0): - abseil/base/core_headers - abseil/container/compressed_tuple - abseil/memory/memory - abseil/meta/type_traits - abseil/types/span - abseil/container/layout (1.20211102.0): - abseil/base/config - abseil/base/core_headers - abseil/meta/type_traits - abseil/strings/strings - abseil/types/span - abseil/utility/utility - abseil/container/raw_hash_map (1.20211102.0): - abseil/base/throw_delegate - abseil/container/container_memory - abseil/container/raw_hash_set - abseil/container/raw_hash_set (1.20211102.0): - abseil/base/config - abseil/base/core_headers - abseil/base/endian - abseil/container/common - abseil/container/compressed_tuple - abseil/container/container_memory - abseil/container/hash_policy_traits - abseil/container/hashtable_debug_hooks - abseil/container/hashtablez_sampler - abseil/container/have_sse - abseil/memory/memory - abseil/meta/type_traits - abseil/numeric/bits - abseil/utility/utility - abseil/debugging/debugging_internal (1.20211102.0): - abseil/base/config - abseil/base/core_headers - abseil/base/dynamic_annotations - abseil/base/errno_saver - abseil/base/raw_logging_internal - abseil/debugging/demangle_internal (1.20211102.0): - abseil/base/base - abseil/base/config - abseil/base/core_headers - abseil/debugging/stacktrace (1.20211102.0): - abseil/base/config - abseil/base/core_headers - abseil/debugging/debugging_internal - abseil/debugging/symbolize (1.20211102.0): - abseil/base/base - abseil/base/config - abseil/base/core_headers - abseil/base/dynamic_annotations - abseil/base/malloc_internal - abseil/base/raw_logging_internal - abseil/debugging/debugging_internal - abseil/debugging/demangle_internal - abseil/strings/strings - abseil/functional/bind_front (1.20211102.0): - abseil/base/base_internal - abseil/container/compressed_tuple - abseil/meta/type_traits - abseil/utility/utility - abseil/functional/function_ref (1.20211102.0): - abseil/base/base_internal - abseil/base/core_headers - abseil/meta/type_traits - abseil/hash/city (1.20211102.0): - abseil/base/config - abseil/base/core_headers - abseil/base/endian - abseil/hash/hash (1.20211102.0): - abseil/base/config - abseil/base/core_headers - abseil/base/endian - abseil/container/fixed_array - abseil/hash/city - abseil/hash/low_level_hash - abseil/meta/type_traits - abseil/numeric/int128 - abseil/strings/strings - abseil/types/optional - abseil/types/variant - abseil/utility/utility - abseil/hash/low_level_hash (1.20211102.0): - abseil/base/config - abseil/base/endian - abseil/numeric/bits - abseil/numeric/int128 - abseil/memory (1.20211102.0): - abseil/memory/memory (= 1.20211102.0) - abseil/memory/memory (1.20211102.0): - abseil/base/core_headers - abseil/meta/type_traits - abseil/meta (1.20211102.0): - abseil/meta/type_traits (= 1.20211102.0) - abseil/meta/type_traits (1.20211102.0): - abseil/base/config - abseil/numeric/bits (1.20211102.0): - abseil/base/config - abseil/base/core_headers - abseil/numeric/int128 (1.20211102.0): - abseil/base/config - abseil/base/core_headers - abseil/numeric/bits - abseil/numeric/representation (1.20211102.0): - abseil/base/config - abseil/profiling/exponential_biased (1.20211102.0): - abseil/base/config - abseil/base/core_headers - abseil/profiling/sample_recorder (1.20211102.0): - abseil/base/config - abseil/base/core_headers - abseil/synchronization/synchronization - abseil/time/time - abseil/random/distributions (1.20211102.0): - abseil/base/base_internal - abseil/base/config - abseil/base/core_headers - abseil/meta/type_traits - abseil/numeric/bits - abseil/random/internal/distribution_caller - abseil/random/internal/fast_uniform_bits - abseil/random/internal/fastmath - abseil/random/internal/generate_real - abseil/random/internal/iostream_state_saver - abseil/random/internal/traits - abseil/random/internal/uniform_helper - abseil/random/internal/wide_multiply - abseil/strings/strings - abseil/random/internal/distribution_caller (1.20211102.0): - abseil/base/config - abseil/base/fast_type_id - abseil/utility/utility - abseil/random/internal/fast_uniform_bits (1.20211102.0): - abseil/base/config - abseil/meta/type_traits - abseil/random/internal/fastmath (1.20211102.0): - abseil/numeric/bits - abseil/random/internal/generate_real (1.20211102.0): - abseil/meta/type_traits - abseil/numeric/bits - abseil/random/internal/fastmath - abseil/random/internal/traits - abseil/random/internal/iostream_state_saver (1.20211102.0): - abseil/meta/type_traits - abseil/numeric/int128 - abseil/random/internal/nonsecure_base (1.20211102.0): - abseil/base/core_headers - abseil/meta/type_traits - abseil/random/internal/pool_urbg - abseil/random/internal/salted_seed_seq - abseil/random/internal/seed_material - abseil/types/optional - abseil/types/span - abseil/random/internal/pcg_engine (1.20211102.0): - abseil/base/config - abseil/meta/type_traits - abseil/numeric/bits - abseil/numeric/int128 - abseil/random/internal/fastmath - abseil/random/internal/iostream_state_saver - abseil/random/internal/platform (1.20211102.0): - abseil/base/config - abseil/random/internal/pool_urbg (1.20211102.0): - abseil/base/base - abseil/base/config - abseil/base/core_headers - abseil/base/endian - abseil/base/raw_logging_internal - abseil/random/internal/randen - abseil/random/internal/seed_material - abseil/random/internal/traits - abseil/random/seed_gen_exception - abseil/types/span - abseil/random/internal/randen (1.20211102.0): - abseil/base/raw_logging_internal - abseil/random/internal/platform - abseil/random/internal/randen_hwaes - abseil/random/internal/randen_slow - abseil/random/internal/randen_engine (1.20211102.0): - abseil/base/endian - abseil/meta/type_traits - abseil/random/internal/iostream_state_saver - abseil/random/internal/randen - abseil/random/internal/randen_hwaes (1.20211102.0): - abseil/base/config - abseil/random/internal/platform - abseil/random/internal/randen_hwaes_impl - abseil/random/internal/randen_hwaes_impl (1.20211102.0): - abseil/base/config - abseil/base/core_headers - abseil/numeric/int128 - abseil/random/internal/platform - abseil/random/internal/randen_slow (1.20211102.0): - abseil/base/config - abseil/base/core_headers - abseil/base/endian - abseil/numeric/int128 - abseil/random/internal/platform - abseil/random/internal/salted_seed_seq (1.20211102.0): - abseil/container/inlined_vector - abseil/meta/type_traits - abseil/random/internal/seed_material - abseil/types/optional - abseil/types/span - abseil/random/internal/seed_material (1.20211102.0): - abseil/base/core_headers - abseil/base/dynamic_annotations - abseil/base/raw_logging_internal - abseil/random/internal/fast_uniform_bits - abseil/strings/strings - abseil/types/optional - abseil/types/span - abseil/random/internal/traits (1.20211102.0): - abseil/base/config - abseil/random/internal/uniform_helper (1.20211102.0): - abseil/base/config - abseil/meta/type_traits - abseil/random/internal/traits - abseil/random/internal/wide_multiply (1.20211102.0): - abseil/base/config - abseil/numeric/bits - abseil/numeric/int128 - abseil/random/internal/traits - abseil/random/random (1.20211102.0): - abseil/random/distributions - abseil/random/internal/nonsecure_base - abseil/random/internal/pcg_engine - abseil/random/internal/pool_urbg - abseil/random/internal/randen_engine - abseil/random/seed_sequences - abseil/random/seed_gen_exception (1.20211102.0): - abseil/base/config - abseil/random/seed_sequences (1.20211102.0): - abseil/container/inlined_vector - abseil/random/internal/nonsecure_base - abseil/random/internal/pool_urbg - abseil/random/internal/salted_seed_seq - abseil/random/internal/seed_material - abseil/random/seed_gen_exception - abseil/types/span - abseil/status/status (1.20211102.0): - abseil/base/atomic_hook - abseil/base/config - abseil/base/core_headers - abseil/base/raw_logging_internal - abseil/container/inlined_vector - abseil/debugging/stacktrace - abseil/debugging/symbolize - abseil/functional/function_ref - abseil/strings/cord - abseil/strings/str_format - abseil/strings/strings - abseil/types/optional - abseil/status/statusor (1.20211102.0): - abseil/base/base - abseil/base/core_headers - abseil/base/raw_logging_internal - abseil/meta/type_traits - abseil/status/status - abseil/strings/strings - abseil/types/variant - abseil/utility/utility - abseil/strings/cord (1.20211102.0): - abseil/base/base - abseil/base/config - abseil/base/core_headers - abseil/base/endian - abseil/base/raw_logging_internal - abseil/container/fixed_array - abseil/container/inlined_vector - abseil/functional/function_ref - abseil/meta/type_traits - abseil/strings/cord_internal - abseil/strings/cordz_functions - abseil/strings/cordz_info - abseil/strings/cordz_statistics - abseil/strings/cordz_update_scope - abseil/strings/cordz_update_tracker - abseil/strings/internal - abseil/strings/str_format - abseil/strings/strings - abseil/types/optional - abseil/strings/cord_internal (1.20211102.0): - abseil/base/base_internal - abseil/base/config - abseil/base/core_headers - abseil/base/endian - abseil/base/raw_logging_internal - abseil/base/throw_delegate - abseil/container/compressed_tuple - abseil/container/inlined_vector - abseil/container/layout - abseil/functional/function_ref - abseil/meta/type_traits - abseil/strings/strings - abseil/types/span - abseil/strings/cordz_functions (1.20211102.0): - abseil/base/config - abseil/base/core_headers - abseil/base/raw_logging_internal - abseil/profiling/exponential_biased - abseil/strings/cordz_handle (1.20211102.0): - abseil/base/base - abseil/base/config - abseil/base/raw_logging_internal - abseil/synchronization/synchronization - abseil/strings/cordz_info (1.20211102.0): - abseil/base/base - abseil/base/config - abseil/base/core_headers - abseil/base/raw_logging_internal - abseil/container/inlined_vector - abseil/debugging/stacktrace - abseil/strings/cord_internal - abseil/strings/cordz_functions - abseil/strings/cordz_handle - abseil/strings/cordz_statistics - abseil/strings/cordz_update_tracker - abseil/synchronization/synchronization - abseil/types/span - abseil/strings/cordz_statistics (1.20211102.0): - abseil/base/config - abseil/strings/cordz_update_tracker - abseil/strings/cordz_update_scope (1.20211102.0): - abseil/base/config - abseil/base/core_headers - abseil/strings/cord_internal - abseil/strings/cordz_info - abseil/strings/cordz_update_tracker - abseil/strings/cordz_update_tracker (1.20211102.0): - abseil/base/config - abseil/strings/internal (1.20211102.0): - abseil/base/config - abseil/base/core_headers - abseil/base/endian - abseil/base/raw_logging_internal - abseil/meta/type_traits - abseil/strings/str_format (1.20211102.0): - abseil/strings/str_format_internal - abseil/strings/str_format_internal (1.20211102.0): - abseil/base/config - abseil/base/core_headers - abseil/functional/function_ref - abseil/meta/type_traits - abseil/numeric/bits - abseil/numeric/int128 - abseil/numeric/representation - abseil/strings/strings - abseil/types/optional - abseil/types/span - abseil/strings/strings (1.20211102.0): - abseil/base/base - abseil/base/config - abseil/base/core_headers - abseil/base/endian - abseil/base/raw_logging_internal - abseil/base/throw_delegate - abseil/memory/memory - abseil/meta/type_traits - abseil/numeric/bits - abseil/numeric/int128 - abseil/strings/internal - abseil/synchronization/graphcycles_internal (1.20211102.0): - abseil/base/base - abseil/base/base_internal - abseil/base/config - abseil/base/core_headers - abseil/base/malloc_internal - abseil/base/raw_logging_internal - abseil/synchronization/kernel_timeout_internal (1.20211102.0): - abseil/base/core_headers - abseil/base/raw_logging_internal - abseil/time/time - abseil/synchronization/synchronization (1.20211102.0): - abseil/base/atomic_hook - abseil/base/base - abseil/base/base_internal - abseil/base/config - abseil/base/core_headers - abseil/base/dynamic_annotations - abseil/base/malloc_internal - abseil/base/raw_logging_internal - abseil/debugging/stacktrace - abseil/debugging/symbolize - abseil/synchronization/graphcycles_internal - abseil/synchronization/kernel_timeout_internal - abseil/time/time - abseil/time (1.20211102.0): - abseil/time/internal (= 1.20211102.0) - abseil/time/time (= 1.20211102.0) - abseil/time/internal (1.20211102.0): - abseil/time/internal/cctz (= 1.20211102.0) - abseil/time/internal/cctz (1.20211102.0): - abseil/time/internal/cctz/civil_time (= 1.20211102.0) - abseil/time/internal/cctz/time_zone (= 1.20211102.0) - abseil/time/internal/cctz/civil_time (1.20211102.0): - abseil/base/config - abseil/time/internal/cctz/time_zone (1.20211102.0): - abseil/base/config - abseil/time/internal/cctz/civil_time - abseil/time/time (1.20211102.0): - abseil/base/base - abseil/base/core_headers - abseil/base/raw_logging_internal - abseil/numeric/int128 - abseil/strings/strings - abseil/time/internal/cctz/civil_time - abseil/time/internal/cctz/time_zone - abseil/types (1.20211102.0): - abseil/types/any (= 1.20211102.0) - abseil/types/bad_any_cast (= 1.20211102.0) - abseil/types/bad_any_cast_impl (= 1.20211102.0) - abseil/types/bad_optional_access (= 1.20211102.0) - abseil/types/bad_variant_access (= 1.20211102.0) - abseil/types/compare (= 1.20211102.0) - abseil/types/optional (= 1.20211102.0) - abseil/types/span (= 1.20211102.0) - abseil/types/variant (= 1.20211102.0) - abseil/types/any (1.20211102.0): - abseil/base/config - abseil/base/core_headers - abseil/base/fast_type_id - abseil/meta/type_traits - abseil/types/bad_any_cast - abseil/utility/utility - abseil/types/bad_any_cast (1.20211102.0): - abseil/base/config - abseil/types/bad_any_cast_impl - abseil/types/bad_any_cast_impl (1.20211102.0): - abseil/base/config - abseil/base/raw_logging_internal - abseil/types/bad_optional_access (1.20211102.0): - abseil/base/config - abseil/base/raw_logging_internal - abseil/types/bad_variant_access (1.20211102.0): - abseil/base/config - abseil/base/raw_logging_internal - abseil/types/compare (1.20211102.0): - abseil/base/core_headers - abseil/meta/type_traits - abseil/types/optional (1.20211102.0): - abseil/base/base_internal - abseil/base/config - abseil/base/core_headers - abseil/memory/memory - abseil/meta/type_traits - abseil/types/bad_optional_access - abseil/utility/utility - abseil/types/span (1.20211102.0): - abseil/algorithm/algorithm - abseil/base/core_headers - abseil/base/throw_delegate - abseil/meta/type_traits - abseil/types/variant (1.20211102.0): - abseil/base/base_internal - abseil/base/config - abseil/base/core_headers - abseil/meta/type_traits - abseil/types/bad_variant_access - abseil/utility/utility - abseil/utility/utility (1.20211102.0): - abseil/base/base_internal - abseil/base/config - abseil/meta/type_traits - AlbatrossContacts (0.1.54): - AlbatrossExtensions - AlbatrossImage (~> 0.4.2) - AlbatrossNetworkingSwift - AlbatrossThrift (~> 0.1.3) - AlbatrossUtil (~> 0.4.15) - Firebase - Firebase/Auth - Firebase/Core - Realm - RealmSwift - AlbatrossEvents (0.1.5): - AlbatrossExtensions - AlbatrossNetworkingSwift - AlbatrossUtil (~> 0.4.13) - AlbatrossExtensions (0.1.9): - AlbatrossNetworkingSwift - AlbatrossThrift (~> 0.1.3) - AlbatrossUtil (~> 0.4.13) - Firebase - Firebase/Auth - Firebase/Core - Realm - AlbatrossImage (0.4.3): - AlbatrossUtil (~> 0.4.13) - SDWebImage (~> 5.9.4) - AlbatrossNetworkingSwift (0.1.107): - AlbatrossThrift (~> 0.1.3) - AlbatrossUtil (~> 0.4.13) - Firebase - Firebase/Auth - Firebase/Core - AlbatrossThrift (0.1.9) - AlbatrossUI (0.4.27): - AlbatrossImage (~> 0.4.1) - AlbatrossUtil (~> 0.4.13) - AlbatrossUtil (0.4.24): - Firebase/Database (= 9.1.0) - Firebase/Storage (= 9.1.0) - PromisesSwift (~> 2.1.1) - Realm - AppAuth (1.6.0): - AppAuth/Core (= 1.6.0) - AppAuth/ExternalUserAgent (= 1.6.0) - AppAuth/Core (1.6.0) - AppAuth/ExternalUserAgent (1.6.0): - AppAuth/Core - BoringSSL-GRPC (0.0.24): - BoringSSL-GRPC/Implementation (= 0.0.24) - BoringSSL-GRPC/Interface (= 0.0.24) - BoringSSL-GRPC/Implementation (0.0.24): - BoringSSL-GRPC/Interface (= 0.0.24) - BoringSSL-GRPC/Interface (0.0.24) - Firebase (9.1.0): - Firebase/Core (= 9.1.0) - Firebase/Analytics (9.1.0): - Firebase/Core - Firebase/Auth (9.1.0): - Firebase/CoreOnly - FirebaseAuth (~> 9.1.0) - Firebase/Core (9.1.0): - Firebase/CoreOnly - FirebaseAnalytics (~> 9.1.0) - Firebase/CoreOnly (9.1.0): - FirebaseCore (= 9.1.0) - Firebase/Crashlytics (9.1.0): - Firebase/CoreOnly - FirebaseCrashlytics (~> 9.1.0) - Firebase/Database (9.1.0): - Firebase/CoreOnly - FirebaseDatabase (~> 9.1.0) - Firebase/DynamicLinks (9.1.0): - Firebase/CoreOnly - FirebaseDynamicLinks (~> 9.1.0) - Firebase/Firestore (9.1.0): - Firebase/CoreOnly - FirebaseFirestore (~> 9.1.0) - Firebase/Messaging (9.1.0): - Firebase/CoreOnly - FirebaseMessaging (~> 9.1.0) - Firebase/Storage (9.1.0): - Firebase/CoreOnly - FirebaseStorage (~> 9.1.0) - FirebaseAnalytics (9.1.0): - FirebaseAnalytics/AdIdSupport (= 9.1.0) - FirebaseCore (~> 9.0) - FirebaseInstallations (~> 9.0) - GoogleUtilities/AppDelegateSwizzler (~> 7.7) - GoogleUtilities/MethodSwizzler (~> 7.7) - GoogleUtilities/Network (~> 7.7) - "GoogleUtilities/NSData+zlib (~> 7.7)" - nanopb (< 2.30910.0, >= 2.30908.0) - FirebaseAnalytics/AdIdSupport (9.1.0): - FirebaseCore (~> 9.0) - FirebaseInstallations (~> 9.0) - GoogleAppMeasurement (= 9.1.0) - GoogleUtilities/AppDelegateSwizzler (~> 7.7) - GoogleUtilities/MethodSwizzler (~> 7.7) - GoogleUtilities/Network (~> 7.7) - "GoogleUtilities/NSData+zlib (~> 7.7)" - nanopb (< 2.30910.0, >= 2.30908.0) - FirebaseAppCheckInterop (9.6.0) - FirebaseAuth (9.1.0): - FirebaseCore (~> 9.0) - GoogleUtilities/AppDelegateSwizzler (~> 7.7) - GoogleUtilities/Environment (~> 7.7) - GTMSessionFetcher/Core (< 3.0, >= 1.7) - FirebaseAuthInterop (9.6.0) - FirebaseCore (9.1.0): - FirebaseCoreDiagnostics (~> 9.0) - FirebaseCoreInternal (~> 9.0) - GoogleUtilities/Environment (~> 7.7) - GoogleUtilities/Logger (~> 7.7) - FirebaseCoreDiagnostics (9.6.0): - GoogleDataTransport (< 10.0.0, >= 9.1.4) - GoogleUtilities/Environment (~> 7.7) - GoogleUtilities/Logger (~> 7.7) - nanopb (< 2.30910.0, >= 2.30908.0) - FirebaseCoreExtension (9.6.0): - FirebaseCore (~> 9.0) - FirebaseCoreInternal (9.6.0): - "GoogleUtilities/NSData+zlib (~> 7.7)" - FirebaseCrashlytics (9.1.0): - FirebaseCore (~> 9.0) - FirebaseInstallations (~> 9.0) - GoogleDataTransport (< 10.0.0, >= 9.1.4) - GoogleUtilities/Environment (~> 7.7) - nanopb (< 2.30910.0, >= 2.30908.0) - PromisesObjC (~> 2.1) - FirebaseDatabase (9.1.0): - FirebaseCore (~> 9.0) - leveldb-library (~> 1.22) - FirebaseDynamicLinks (9.1.0): - FirebaseCore (~> 9.0) - FirebaseFirestore (9.1.0): - abseil/algorithm (~> 1.20211102.0) - abseil/base (~> 1.20211102.0) - abseil/container/flat_hash_map (~> 1.20211102.0) - abseil/memory (~> 1.20211102.0) - abseil/meta (~> 1.20211102.0) - abseil/strings/strings (~> 1.20211102.0) - abseil/time (~> 1.20211102.0) - abseil/types (~> 1.20211102.0) - FirebaseCore (~> 9.0) - "gRPC-C++ (~> 1.44.0)" - leveldb-library (~> 1.22) - nanopb (< 2.30910.0, >= 2.30908.0) - FirebaseFirestoreSwift (9.1.0): - FirebaseFirestore (~> 9.0) - FirebaseInstallations (9.6.0): - FirebaseCore (~> 9.0) - GoogleUtilities/Environment (~> 7.7) - GoogleUtilities/UserDefaults (~> 7.7) - PromisesObjC (~> 2.1) - FirebaseMessaging (9.1.0): - FirebaseCore (~> 9.0) - FirebaseInstallations (~> 9.0) - GoogleDataTransport (< 10.0.0, >= 9.1.4) - GoogleUtilities/AppDelegateSwizzler (~> 7.7) - GoogleUtilities/Environment (~> 7.7) - GoogleUtilities/Reachability (~> 7.7) - GoogleUtilities/UserDefaults (~> 7.7) - nanopb (< 2.30910.0, >= 2.30908.0) - FirebaseStorage (9.1.0): - FirebaseAppCheckInterop (~> 9.0) - FirebaseAuthInterop (~> 9.0) - FirebaseCore (~> 9.0) - FirebaseCoreExtension (~> 9.0) - FirebaseStorageInternal (~> 9.0) - FirebaseStorageInternal (9.6.0): - FirebaseCore (~> 9.0) - GTMSessionFetcher/Core (< 3.0, >= 1.7) - FirebaseStorageUI (12.3.0): - FirebaseStorage (< 11.0, >= 8.0) - SDWebImage (~> 5.6) - FirebaseUI/Storage (12.3.0): - FirebaseStorageUI (~> 12.0) - GoogleAppMeasurement (9.1.0): - GoogleAppMeasurement/AdIdSupport (= 9.1.0) - GoogleUtilities/AppDelegateSwizzler (~> 7.7) - GoogleUtilities/MethodSwizzler (~> 7.7) - GoogleUtilities/Network (~> 7.7) - "GoogleUtilities/NSData+zlib (~> 7.7)" - nanopb (< 2.30910.0, >= 2.30908.0) - GoogleAppMeasurement/AdIdSupport (9.1.0): - GoogleAppMeasurement/WithoutAdIdSupport (= 9.1.0) - GoogleUtilities/AppDelegateSwizzler (~> 7.7) - GoogleUtilities/MethodSwizzler (~> 7.7) - GoogleUtilities/Network (~> 7.7) - "GoogleUtilities/NSData+zlib (~> 7.7)" - nanopb (< 2.30910.0, >= 2.30908.0) - GoogleAppMeasurement/WithoutAdIdSupport (9.1.0): - GoogleUtilities/AppDelegateSwizzler (~> 7.7) - GoogleUtilities/MethodSwizzler (~> 7.7) - GoogleUtilities/Network (~> 7.7) - "GoogleUtilities/NSData+zlib (~> 7.7)" - nanopb (< 2.30910.0, >= 2.30908.0) - GoogleDataTransport (9.2.1): - GoogleUtilities/Environment (~> 7.7) - nanopb (< 2.30910.0, >= 2.30908.0) - PromisesObjC (< 3.0, >= 1.2) - GoogleMaps/Base (4.0.0) - GooglePlaces (4.0.0): - GoogleMaps/Base (= 4.0.0) - GoogleSignIn (7.0.0): - AppAuth (~> 1.5) - GTMAppAuth (< 3.0, >= 1.3) - GTMSessionFetcher/Core (< 4.0, >= 1.1) - GoogleUtilities/AppDelegateSwizzler (7.11.0): - GoogleUtilities/Environment - GoogleUtilities/Logger - GoogleUtilities/Network - GoogleUtilities/Environment (7.11.0): - PromisesObjC (< 3.0, >= 1.2) - GoogleUtilities/Logger (7.11.0): - GoogleUtilities/Environment - GoogleUtilities/MethodSwizzler (7.11.0): - GoogleUtilities/Logger - GoogleUtilities/Network (7.11.0): - GoogleUtilities/Logger - "GoogleUtilities/NSData+zlib" - GoogleUtilities/Reachability - "GoogleUtilities/NSData+zlib (7.11.0)" - GoogleUtilities/Reachability (7.11.0): - GoogleUtilities/Logger - GoogleUtilities/UserDefaults (7.11.0): - GoogleUtilities/Logger - "gRPC-C++ (1.44.0)": - "gRPC-C++/Implementation (= 1.44.0)" - "gRPC-C++/Interface (= 1.44.0)" - "gRPC-C++/Implementation (1.44.0)": - abseil/base/base (= 1.20211102.0) - abseil/base/core_headers (= 1.20211102.0) - abseil/container/flat_hash_map (= 1.20211102.0) - abseil/container/inlined_vector (= 1.20211102.0) - abseil/functional/bind_front (= 1.20211102.0) - abseil/hash/hash (= 1.20211102.0) - abseil/memory/memory (= 1.20211102.0) - abseil/random/random (= 1.20211102.0) - abseil/status/status (= 1.20211102.0) - abseil/status/statusor (= 1.20211102.0) - abseil/strings/cord (= 1.20211102.0) - abseil/strings/str_format (= 1.20211102.0) - abseil/strings/strings (= 1.20211102.0) - abseil/synchronization/synchronization (= 1.20211102.0) - abseil/time/time (= 1.20211102.0) - abseil/types/optional (= 1.20211102.0) - abseil/types/variant (= 1.20211102.0) - abseil/utility/utility (= 1.20211102.0) - "gRPC-C++/Interface (= 1.44.0)" - gRPC-Core (= 1.44.0) - "gRPC-C++/Interface (1.44.0)" - gRPC-Core (1.44.0): - gRPC-Core/Implementation (= 1.44.0) - gRPC-Core/Interface (= 1.44.0) - gRPC-Core/Implementation (1.44.0): - abseil/base/base (= 1.20211102.0) - abseil/base/core_headers (= 1.20211102.0) - abseil/container/flat_hash_map (= 1.20211102.0) - abseil/container/inlined_vector (= 1.20211102.0) - abseil/functional/bind_front (= 1.20211102.0) - abseil/hash/hash (= 1.20211102.0) - abseil/memory/memory (= 1.20211102.0) - abseil/random/random (= 1.20211102.0) - abseil/status/status (= 1.20211102.0) - abseil/status/statusor (= 1.20211102.0) - abseil/strings/cord (= 1.20211102.0) - abseil/strings/str_format (= 1.20211102.0) - abseil/strings/strings (= 1.20211102.0) - abseil/synchronization/synchronization (= 1.20211102.0) - abseil/time/time (= 1.20211102.0) - abseil/types/optional (= 1.20211102.0) - abseil/types/variant (= 1.20211102.0) - abseil/utility/utility (= 1.20211102.0) - BoringSSL-GRPC (= 0.0.24) - gRPC-Core/Interface (= 1.44.0) - Libuv-gRPC (= 0.0.10) - gRPC-Core/Interface (1.44.0) - GTMAppAuth (2.0.0): - AppAuth/Core (~> 1.6) - GTMSessionFetcher/Core (< 4.0, >= 1.5) - GTMSessionFetcher (2.3.0): - GTMSessionFetcher/Full (= 2.3.0) - GTMSessionFetcher/Core (2.3.0) - GTMSessionFetcher/Full (2.3.0): - GTMSessionFetcher/Core - leveldb-library (1.22.1) - Libuv-gRPC (0.0.10): - Libuv-gRPC/Implementation (= 0.0.10) - Libuv-gRPC/Interface (= 0.0.10) - Libuv-gRPC/Implementation (0.0.10): - Libuv-gRPC/Interface (= 0.0.10) - Libuv-gRPC/Interface (0.0.10) - nanopb (2.30909.0): - nanopb/decode (= 2.30909.0) - nanopb/encode (= 2.30909.0) - nanopb/decode (2.30909.0) - nanopb/encode (2.30909.0) - PromisesObjC (2.1.1) - PromisesSwift (2.1.1): - PromisesObjC (= 2.1.1) - Realm (10.36.0): - Realm/Headers (= 10.36.0) - Realm/Headers (10.36.0) - RealmSwift (10.36.0): - Realm (= 10.36.0) - SDWebImage (5.9.5): - SDWebImage/Core (= 5.9.5) - SDWebImage/Core (5.9.5) DEPENDENCIES: - AlbatrossContacts (from `../albatross`) - AlbatrossEvents (from `../albatross`) - AlbatrossExtensions (from `../albatross`) - AlbatrossImage (from `../albatross`) - AlbatrossNetworkingSwift (from `../albatross`) - AlbatrossUI (from `../albatross`) - AlbatrossUtil (from `../albatross`) - AppAuth (~> 1.0) - Firebase (= 9.1.0) - Firebase/Analytics - Firebase/Auth - Firebase/Core - Firebase/Crashlytics - Firebase/Database - Firebase/DynamicLinks - Firebase/Firestore - Firebase/Messaging - Firebase/Storage - FirebaseFirestoreSwift (= 9.1.0) - FirebaseUI/Storage - GooglePlaces (~> 4.0.0) - GoogleSignIn - GoogleUtilities/AppDelegateSwizzler - GoogleUtilities/Environment - GoogleUtilities/Logger - GoogleUtilities/MethodSwizzler - GoogleUtilities/Network - "GoogleUtilities/NSData+zlib" - GoogleUtilities/Reachability - GoogleUtilities/UserDefaults - GTMSessionFetcher - PromisesSwift (~> 2.1.1) - Realm (~> 10.36.0) - RealmSwift (~> 10.36.0) SPEC REPOS: "git@github.com:lumilabs/albatross-specs.git": - AlbatrossThrift https://github.com/CocoaPods/Specs: - abseil - AppAuth - BoringSSL-GRPC - Firebase - FirebaseAnalytics - FirebaseAppCheckInterop - FirebaseAuth - FirebaseAuthInterop - FirebaseCore - FirebaseCoreDiagnostics - FirebaseCoreExtension - FirebaseCoreInternal - FirebaseCrashlytics - FirebaseDatabase - FirebaseDynamicLinks - FirebaseFirestore - FirebaseFirestoreSwift - FirebaseInstallations - FirebaseMessaging - FirebaseStorage - FirebaseStorageInternal - FirebaseStorageUI - FirebaseUI - GoogleAppMeasurement - GoogleDataTransport - GoogleMaps - GooglePlaces - GoogleSignIn - GoogleUtilities - "gRPC-C++" - gRPC-Core - GTMAppAuth - GTMSessionFetcher - leveldb-library - Libuv-gRPC - nanopb - PromisesObjC - PromisesSwift - Realm - RealmSwift - SDWebImage EXTERNAL SOURCES: AlbatrossContacts: :path: "../albatross" AlbatrossEvents: :path: "../albatross" AlbatrossExtensions: :path: "../albatross" AlbatrossImage: :path: "../albatross" AlbatrossNetworkingSwift: :path: "../albatross" AlbatrossUI: :path: "../albatross" AlbatrossUtil: :path: "../albatross" SPEC CHECKSUMS: abseil: ebe5b5529fb05d93a8bdb7951607be08b7fa71bc AlbatrossContacts: 090aee5263f9ec12c0b6c031a72d9e90846334fb AlbatrossEvents: 4c954e26e5853734253be59028e1aeda821c949a AlbatrossExtensions: f8cc3f32ff46bb42edd2532b2e79088bde778005 AlbatrossImage: 806f1a3e40f8d989e262baa18878d12b1176c1f8 AlbatrossNetworkingSwift: 88028b934b2a758c87feb4d13f38f4ce9604d4e0 AlbatrossThrift: 64b703a7a99e6d89549bf7dfd0632d0a4d14f77d AlbatrossUI: bc2582eb187f053ac06634a923e1420b32428214 AlbatrossUtil: 45c5daa42f36aff1ca92b4ac6215f56ceb2b10a7 AppAuth: 8fca6b5563a5baef2c04bee27538025e4ceb2add BoringSSL-GRPC: 3175b25143e648463a56daeaaa499c6cb86dad33 Firebase: 91c243d75573ac6e7c9735ec859b72bffb61347d FirebaseAnalytics: bf11064790ac96804df1df9ddc0ae45af950d9fc FirebaseAppCheckInterop: d5ecda0c09f8069406643d6e0fa12c09d1b736e3 FirebaseAuth: 77247e07732ec5cdb20cc58ef40ad84d2fcce847 FirebaseAuthInterop: b6cf02117f13a8400c8c8b4421e12c6e850bcaf3 FirebaseCore: b7bfc258e996eada23b3666bd6b9a22ca092acb8 FirebaseCoreDiagnostics: 99a495094b10a57eeb3ae8efa1665700ad0bdaa6 FirebaseCoreExtension: e83465d1236b166d1d445bbf0e82b65acb30b73b FirebaseCoreInternal: bca76517fe1ed381e989f5e7d8abb0da8d85bed3 FirebaseCrashlytics: 8e21736dcf15d814b79229eb7e79ba3a5eec5f30 FirebaseDatabase: 6308b36dbc7725204a32f1ac638e730a9aabf5bc FirebaseDynamicLinks: d2cc5fe0378fd2a191becfaadd112c07227b32e4 FirebaseFirestore: 20b1df7d65058b038745ecebb60f741a10e40a6f FirebaseFirestoreSwift: 5d57539cec470bf3c9a752db009ff7e9d1a77d09 FirebaseInstallations: 0a115432c4e223c5ab20b0dbbe4cbefa793a0e8e FirebaseMessaging: 0bf5caa621182ccc66ba3be3b15e68d800d98e9f FirebaseStorage: 1706d112a8a9d39f3b5465d00a0cb75725f16f63 FirebaseStorageInternal: 81d8a597324ccd06c41a43c5700bc1185a2fc328 FirebaseStorageUI: e395358d689cd64b967b2402939ee0f503de63b5 FirebaseUI: e9a2dd42f5b593cd8b6e64c11d30ded38f30e48c GoogleAppMeasurement: 8ecc717f2abe3f9ee95a5d38db08827852894acc GoogleDataTransport: ea169759df570f4e37bdee1623ec32a7e64e67c4 GoogleMaps: b7f7fc569a9b354a3af0d9729dbec40957b7d41e GooglePlaces: ca8d4aba09ba79e0a829cf1dca03a41de6a09016 GoogleSignIn: b232380cf495a429b8095d3178a8d5855b42e842 GoogleUtilities: c2bdc4cf2ce786c4d2e6b3bcfd599a25ca78f06f "gRPC-C++": 9675f953ace2b3de7c506039d77be1f2e77a8db2 gRPC-Core: 943e491cb0d45598b0b0eb9e910c88080369290b GTMAppAuth: 99fb010047ba3973b7026e45393f51f27ab965ae GTMSessionFetcher: 3a63d75eecd6aa32c2fc79f578064e1214dfdec2 leveldb-library: 50c7b45cbd7bf543c81a468fe557a16ae3db8729 Libuv-gRPC: 55e51798e14ef436ad9bc45d12d43b77b49df378 nanopb: b552cce312b6c8484180ef47159bc0f65a1f0431 PromisesObjC: ab77feca74fa2823e7af4249b8326368e61014cb PromisesSwift: 99fddfe4a0ec88a56486644c0da106694c92a604 Realm: 3fd136cb4c83a927482a7f1612496d37beed3cf5 RealmSwift: 513d4dcbf5bfc4d573454088b592685fc48dd716 SDWebImage: 0b2ba0d56479bf6a45ecddbfd5558bea93150d25 PODFILE CHECKSUM: c27b0dc01cd74ff87a522428a73de436b2067cc5 COCOAPODS: 1.12.0 ```
google-oss-bot commented 1 year ago

I couldn't figure out how to label this issue, so I've labeled it for a human to triage. Hang tight.

paulb777 commented 1 year ago

@renkelvin Should https://github.com/firebase/firebase-ios-sdk/blob/master/FirebaseAuth/Sources/Auth/FIRAuth.m#L1178 be an error instead of nil?

renkelvin commented 1 year ago

@renkelvin Should https://github.com/firebase/firebase-ios-sdk/blob/master/FirebaseAuth/Sources/Auth/FIRAuth.m#L1178 be an error instead of nil?

When we failed to sign in the user, the auth result is returned as nil. The error is returned at 1 line below.

@johnfrancmartin by "signInWithCustomToken returns neither an auth'd object nor an error", do you mean authResult and error are both nil in some cases?

johnfrancmartin commented 1 year ago

Yes exactly, in some cases (difficult to see any pattern between them), we're getting both Error == nil and FIRAuthDataResult == nil.

johnfrancmartin commented 1 year ago

Any follow up on this?? We're still seeing this issue.

paulb777 commented 2 months ago

Should be addressed in the 11.0.0 release.