firebase-ios-sdk icon indicating copy to clipboard operation
firebase-ios-sdk copied to clipboard

sendPasswordResetEmail not throwing auth/user-not-found exception

Open Luna0214 opened this issue 6 months ago • 4 comments

Description

Operating System macOS(Sonoma 14.2.1)

Browser Version Chrome Version 120.0.6099.234(Official Build) (x86_64)

Firebase SDK Version 13.0.2

Firebase SDK Product: Auth

Describe your project's tooling Flutter app in VScode

Describe the problem I am trying to make the resetpassword page in my flutter app on IOS. But the problem is sendPasswordResetEmail function is not throwing an exception even when I type in fake email address and press send reset link email button. P.S. other exception is work great: flutter: [firebase_auth/missing-email] An email address must be provided. flutter: [firebase_auth/invalid-email] The email address is badly formatted.

the code:

Future passwordReset() async {
    try {
      await FirebaseAuth.instance
          .sendPasswordResetEmail(email: emailController.text.trim());
      return print("sent");
    } on FirebaseAuthException catch (e) {
      return print(e);
    }
  }

Reproducing the issue

No response

Firebase SDK Version

13.0.2

Xcode Version

15.1

Installation Method

CocoaPods

Firebase Product(s)

Authentication

Targeted Platforms

iOS, macOS

Relevant Log Output

No response

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

No response

If using CocoaPods, the project's Podfile.lock

Expand Podfile.lock snippet

PODS:
  - abseil/algorithm (1.20220623.0):
    - abseil/algorithm/algorithm (= 1.20220623.0)
    - abseil/algorithm/container (= 1.20220623.0)
  - abseil/algorithm/algorithm (1.20220623.0):
    - abseil/base/config
  - abseil/algorithm/container (1.20220623.0):
    - abseil/algorithm/algorithm
    - abseil/base/core_headers
    - abseil/meta/type_traits
  - abseil/base (1.20220623.0):
    - abseil/base/atomic_hook (= 1.20220623.0)
    - abseil/base/base (= 1.20220623.0)
    - abseil/base/base_internal (= 1.20220623.0)
    - abseil/base/config (= 1.20220623.0)
    - abseil/base/core_headers (= 1.20220623.0)
    - abseil/base/dynamic_annotations (= 1.20220623.0)
    - abseil/base/endian (= 1.20220623.0)
    - abseil/base/errno_saver (= 1.20220623.0)
    - abseil/base/fast_type_id (= 1.20220623.0)
    - abseil/base/log_severity (= 1.20220623.0)
    - abseil/base/malloc_internal (= 1.20220623.0)
    - abseil/base/prefetch (= 1.20220623.0)
    - abseil/base/pretty_function (= 1.20220623.0)
    - abseil/base/raw_logging_internal (= 1.20220623.0)
    - abseil/base/spinlock_wait (= 1.20220623.0)
    - abseil/base/strerror (= 1.20220623.0)
    - abseil/base/throw_delegate (= 1.20220623.0)
  - abseil/base/atomic_hook (1.20220623.0):
    - abseil/base/config
    - abseil/base/core_headers
  - abseil/base/base (1.20220623.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.20220623.0):
    - abseil/base/config
    - abseil/meta/type_traits
  - abseil/base/config (1.20220623.0)
  - abseil/base/core_headers (1.20220623.0):
    - abseil/base/config
  - abseil/base/dynamic_annotations (1.20220623.0):
    - abseil/base/config
    - abseil/base/core_headers
  - abseil/base/endian (1.20220623.0):
    - abseil/base/base
    - abseil/base/config
    - abseil/base/core_headers
  - abseil/base/errno_saver (1.20220623.0):
    - abseil/base/config
  - abseil/base/fast_type_id (1.20220623.0):
    - abseil/base/config
  - abseil/base/log_severity (1.20220623.0):
    - abseil/base/config
    - abseil/base/core_headers
  - abseil/base/malloc_internal (1.20220623.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/prefetch (1.20220623.0):
    - abseil/base/config
  - abseil/base/pretty_function (1.20220623.0)
  - abseil/base/raw_logging_internal (1.20220623.0):
    - abseil/base/atomic_hook
    - abseil/base/config
    - abseil/base/core_headers
    - abseil/base/errno_saver
    - abseil/base/log_severity
  - abseil/base/spinlock_wait (1.20220623.0):
    - abseil/base/base_internal
    - abseil/base/core_headers
    - abseil/base/errno_saver
  - abseil/base/strerror (1.20220623.0):
    - abseil/base/config
    - abseil/base/core_headers
    - abseil/base/errno_saver
  - abseil/base/throw_delegate (1.20220623.0):
    - abseil/base/config
    - abseil/base/raw_logging_internal
  - abseil/cleanup/cleanup (1.20220623.0):
    - abseil/base/config
    - abseil/base/core_headers
    - abseil/cleanup/cleanup_internal
  - abseil/cleanup/cleanup_internal (1.20220623.0):
    - abseil/base/base_internal
    - abseil/base/core_headers
    - abseil/utility/utility
  - abseil/container/common (1.20220623.0):
    - abseil/meta/type_traits
    - abseil/types/optional
  - abseil/container/compressed_tuple (1.20220623.0):
    - abseil/utility/utility
  - abseil/container/container_memory (1.20220623.0):
    - abseil/base/config
    - abseil/memory/memory
    - abseil/meta/type_traits
    - abseil/utility/utility
  - abseil/container/fixed_array (1.20220623.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.20220623.0):
    - abseil/algorithm/container
    - abseil/base/core_headers
    - abseil/container/container_memory
    - abseil/container/hash_function_defaults
    - abseil/container/raw_hash_map
    - abseil/memory/memory
  - abseil/container/flat_hash_set (1.20220623.0):
    - abseil/algorithm/container
    - abseil/base/core_headers
    - abseil/container/container_memory
    - abseil/container/hash_function_defaults
    - abseil/container/raw_hash_set
    - abseil/memory/memory
  - abseil/container/hash_function_defaults (1.20220623.0):
    - abseil/base/config
    - abseil/hash/hash
    - abseil/strings/cord
    - abseil/strings/strings
  - abseil/container/hash_policy_traits (1.20220623.0):
    - abseil/meta/type_traits
  - abseil/container/hashtable_debug_hooks (1.20220623.0):
    - abseil/base/config
  - abseil/container/hashtablez_sampler (1.20220623.0):
    - abseil/base/base
    - abseil/base/config
    - abseil/base/core_headers
    - abseil/debugging/stacktrace
    - abseil/memory/memory
    - abseil/profiling/exponential_biased
    - abseil/profiling/sample_recorder
    - abseil/synchronization/synchronization
    - abseil/utility/utility
  - abseil/container/inlined_vector (1.20220623.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.20220623.0):
    - abseil/base/core_headers
    - abseil/container/compressed_tuple
    - abseil/memory/memory
    - abseil/meta/type_traits
    - abseil/types/span
  - abseil/container/layout (1.20220623.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.20220623.0):
    - abseil/base/throw_delegate
    - abseil/container/container_memory
    - abseil/container/raw_hash_set
  - abseil/container/raw_hash_set (1.20220623.0):
    - abseil/base/config
    - abseil/base/core_headers
    - abseil/base/endian
    - abseil/base/prefetch
    - 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/memory/memory
    - abseil/meta/type_traits
    - abseil/numeric/bits
    - abseil/utility/utility
  - abseil/debugging/debugging_internal (1.20220623.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.20220623.0):
    - abseil/base/base
    - abseil/base/config
    - abseil/base/core_headers
  - abseil/debugging/stacktrace (1.20220623.0):
    - abseil/base/config
    - abseil/base/core_headers
    - abseil/debugging/debugging_internal
  - abseil/debugging/symbolize (1.20220623.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/any_invocable (1.20220623.0):
    - abseil/base/base_internal
    - abseil/base/config
    - abseil/base/core_headers
    - abseil/meta/type_traits
    - abseil/utility/utility
  - abseil/functional/bind_front (1.20220623.0):
    - abseil/base/base_internal
    - abseil/container/compressed_tuple
    - abseil/meta/type_traits
    - abseil/utility/utility
  - abseil/functional/function_ref (1.20220623.0):
    - abseil/base/base_internal
    - abseil/base/core_headers
    - abseil/meta/type_traits
  - abseil/hash/city (1.20220623.0):
    - abseil/base/config
    - abseil/base/core_headers
    - abseil/base/endian
  - abseil/hash/hash (1.20220623.0):
    - abseil/base/config
    - abseil/base/core_headers
    - abseil/base/endian
    - abseil/container/fixed_array
    - abseil/functional/function_ref
    - 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.20220623.0):
    - abseil/base/config
    - abseil/base/endian
    - abseil/numeric/bits
    - abseil/numeric/int128
  - abseil/memory (1.20220623.0):
    - abseil/memory/memory (= 1.20220623.0)
  - abseil/memory/memory (1.20220623.0):
    - abseil/base/core_headers
    - abseil/meta/type_traits
  - abseil/meta (1.20220623.0):
    - abseil/meta/type_traits (= 1.20220623.0)
  - abseil/meta/type_traits (1.20220623.0):
    - abseil/base/config
  - abseil/numeric/bits (1.20220623.0):
    - abseil/base/config
    - abseil/base/core_headers
  - abseil/numeric/int128 (1.20220623.0):
    - abseil/base/config
    - abseil/base/core_headers
    - abseil/numeric/bits
  - abseil/numeric/representation (1.20220623.0):
    - abseil/base/config
  - abseil/profiling/exponential_biased (1.20220623.0):
    - abseil/base/config
    - abseil/base/core_headers
  - abseil/profiling/sample_recorder (1.20220623.0):
    - abseil/base/config
    - abseil/base/core_headers
    - abseil/synchronization/synchronization
    - abseil/time/time
  - abseil/random/distributions (1.20220623.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.20220623.0):
    - abseil/base/config
    - abseil/base/fast_type_id
    - abseil/utility/utility
  - abseil/random/internal/fast_uniform_bits (1.20220623.0):
    - abseil/base/config
    - abseil/meta/type_traits
    - abseil/random/internal/traits
  - abseil/random/internal/fastmath (1.20220623.0):
    - abseil/numeric/bits
  - abseil/random/internal/generate_real (1.20220623.0):
    - abseil/meta/type_traits
    - abseil/numeric/bits
    - abseil/random/internal/fastmath
    - abseil/random/internal/traits
  - abseil/random/internal/iostream_state_saver (1.20220623.0):
    - abseil/meta/type_traits
    - abseil/numeric/int128
  - abseil/random/internal/nonsecure_base (1.20220623.0):
    - abseil/base/core_headers
    - abseil/container/inlined_vector
    - abseil/meta/type_traits
    - abseil/random/internal/pool_urbg
    - abseil/random/internal/salted_seed_seq
    - abseil/random/internal/seed_material
    - abseil/types/span
  - abseil/random/internal/pcg_engine (1.20220623.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.20220623.0):
    - abseil/base/config
  - abseil/random/internal/pool_urbg (1.20220623.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.20220623.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.20220623.0):
    - abseil/base/endian
    - abseil/meta/type_traits
    - abseil/random/internal/iostream_state_saver
    - abseil/random/internal/randen
  - abseil/random/internal/randen_hwaes (1.20220623.0):
    - abseil/base/config
    - abseil/random/internal/platform
    - abseil/random/internal/randen_hwaes_impl
  - abseil/random/internal/randen_hwaes_impl (1.20220623.0):
    - abseil/base/config
    - abseil/base/core_headers
    - abseil/numeric/int128
    - abseil/random/internal/platform
  - abseil/random/internal/randen_slow (1.20220623.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.20220623.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.20220623.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.20220623.0):
    - abseil/base/config
    - abseil/numeric/bits
    - abseil/numeric/int128
  - abseil/random/internal/uniform_helper (1.20220623.0):
    - abseil/base/config
    - abseil/meta/type_traits
    - abseil/numeric/int128
    - abseil/random/internal/traits
  - abseil/random/internal/wide_multiply (1.20220623.0):
    - abseil/base/config
    - abseil/numeric/bits
    - abseil/numeric/int128
    - abseil/random/internal/traits
  - abseil/random/random (1.20220623.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.20220623.0):
    - abseil/base/config
  - abseil/random/seed_sequences (1.20220623.0):
    - abseil/base/config
    - 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.20220623.0):
    - abseil/base/atomic_hook
    - abseil/base/core_headers
    - abseil/base/raw_logging_internal
    - abseil/base/strerror
    - 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.20220623.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.20220623.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/numeric/bits
    - 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/types/span
  - abseil/strings/cord_internal (1.20220623.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.20220623.0):
    - abseil/base/config
    - abseil/base/core_headers
    - abseil/base/raw_logging_internal
    - abseil/profiling/exponential_biased
  - abseil/strings/cordz_handle (1.20220623.0):
    - abseil/base/base
    - abseil/base/config
    - abseil/base/raw_logging_internal
    - abseil/synchronization/synchronization
  - abseil/strings/cordz_info (1.20220623.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.20220623.0):
    - abseil/base/config
    - abseil/strings/cordz_update_tracker
  - abseil/strings/cordz_update_scope (1.20220623.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.20220623.0):
    - abseil/base/config
  - abseil/strings/internal (1.20220623.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.20220623.0):
    - abseil/strings/str_format_internal
  - abseil/strings/str_format_internal (1.20220623.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/utility/utility
  - abseil/strings/strings (1.20220623.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.20220623.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.20220623.0):
    - abseil/base/core_headers
    - abseil/base/raw_logging_internal
    - abseil/time/time
  - abseil/synchronization/synchronization (1.20220623.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.20220623.0):
    - abseil/time/internal (= 1.20220623.0)
    - abseil/time/time (= 1.20220623.0)
  - abseil/time/internal (1.20220623.0):
    - abseil/time/internal/cctz (= 1.20220623.0)
  - abseil/time/internal/cctz (1.20220623.0):
    - abseil/time/internal/cctz/civil_time (= 1.20220623.0)
    - abseil/time/internal/cctz/time_zone (= 1.20220623.0)
  - abseil/time/internal/cctz/civil_time (1.20220623.0):
    - abseil/base/config
  - abseil/time/internal/cctz/time_zone (1.20220623.0):
    - abseil/base/config
    - abseil/time/internal/cctz/civil_time
  - abseil/time/time (1.20220623.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.20220623.0):
    - abseil/types/any (= 1.20220623.0)
    - abseil/types/bad_any_cast (= 1.20220623.0)
    - abseil/types/bad_any_cast_impl (= 1.20220623.0)
    - abseil/types/bad_optional_access (= 1.20220623.0)
    - abseil/types/bad_variant_access (= 1.20220623.0)
    - abseil/types/compare (= 1.20220623.0)
    - abseil/types/optional (= 1.20220623.0)
    - abseil/types/span (= 1.20220623.0)
    - abseil/types/variant (= 1.20220623.0)
  - abseil/types/any (1.20220623.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.20220623.0):
    - abseil/base/config
    - abseil/types/bad_any_cast_impl
  - abseil/types/bad_any_cast_impl (1.20220623.0):
    - abseil/base/config
    - abseil/base/raw_logging_internal
  - abseil/types/bad_optional_access (1.20220623.0):
    - abseil/base/config
    - abseil/base/raw_logging_internal
  - abseil/types/bad_variant_access (1.20220623.0):
    - abseil/base/config
    - abseil/base/raw_logging_internal
  - abseil/types/compare (1.20220623.0):
    - abseil/base/core_headers
    - abseil/meta/type_traits
  - abseil/types/optional (1.20220623.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.20220623.0):
    - abseil/algorithm/algorithm
    - abseil/base/core_headers
    - abseil/base/throw_delegate
    - abseil/meta/type_traits
  - abseil/types/variant (1.20220623.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.20220623.0):
    - abseil/base/base_internal
    - abseil/base/config
    - abseil/meta/type_traits
  - AppAuth (1.6.2):
    - AppAuth/Core (= 1.6.2)
    - AppAuth/ExternalUserAgent (= 1.6.2)
  - AppAuth/Core (1.6.2)
  - AppAuth/ExternalUserAgent (1.6.2):
    - 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)
  - cloud_firestore (4.14.0):
    - Firebase/Firestore (= 10.18.0)
    - firebase_core
    - Flutter
    - nanopb (< 2.30910.0, >= 2.30908.0)
  - Firebase/Auth (10.18.0):
    - Firebase/CoreOnly
    - FirebaseAuth (~> 10.18.0)
  - Firebase/CoreOnly (10.18.0):
    - FirebaseCore (= 10.18.0)
  - Firebase/Firestore (10.18.0):
    - Firebase/CoreOnly
    - FirebaseFirestore (~> 10.18.0)
  - firebase_auth (4.16.0):
    - Firebase/Auth (= 10.18.0)
    - firebase_core
    - Flutter
  - firebase_core (2.24.2):
    - Firebase/CoreOnly (= 10.18.0)
    - Flutter
  - FirebaseAppCheckInterop (10.20.0)
  - FirebaseAuth (10.18.0):
    - FirebaseAppCheckInterop (~> 10.17)
    - FirebaseCore (~> 10.0)
    - GoogleUtilities/AppDelegateSwizzler (~> 7.8)
    - GoogleUtilities/Environment (~> 7.8)
    - GTMSessionFetcher/Core (< 4.0, >= 2.1)
    - RecaptchaInterop (~> 100.0)
  - FirebaseCore (10.18.0):
    - FirebaseCoreInternal (~> 10.0)
    - GoogleUtilities/Environment (~> 7.12)
    - GoogleUtilities/Logger (~> 7.12)
  - FirebaseCoreExtension (10.20.0):
    - FirebaseCore (~> 10.0)
  - FirebaseCoreInternal (10.19.0):
    - "GoogleUtilities/NSData+zlib (~> 7.8)"
  - FirebaseFirestore (10.18.0):
    - FirebaseCore (~> 10.0)
    - FirebaseCoreExtension (~> 10.0)
    - FirebaseFirestoreInternal (~> 10.17)
    - FirebaseSharedSwift (~> 10.0)
  - FirebaseFirestoreInternal (10.20.0):
    - abseil/algorithm (~> 1.20220623.0)
    - abseil/base (~> 1.20220623.0)
    - abseil/container/flat_hash_map (~> 1.20220623.0)
    - abseil/memory (~> 1.20220623.0)
    - abseil/meta (~> 1.20220623.0)
    - abseil/strings/strings (~> 1.20220623.0)
    - abseil/time (~> 1.20220623.0)
    - abseil/types (~> 1.20220623.0)
    - FirebaseAppCheckInterop (~> 10.17)
    - FirebaseCore (~> 10.0)
    - "gRPC-C++ (~> 1.49.1)"
    - leveldb-library (~> 1.22)
    - nanopb (< 2.30910.0, >= 2.30908.0)
  - FirebaseSharedSwift (10.20.0)
  - Flutter (1.0.0)
  - flutter_secure_storage (6.0.0):
    - Flutter
  - google_sign_in_ios (0.0.1):
    - Flutter
    - FlutterMacOS
    - GoogleSignIn (~> 7.0)
  - GoogleSignIn (7.0.0):
    - AppAuth (~> 1.5)
    - GTMAppAuth (< 3.0, >= 1.3)
    - GTMSessionFetcher/Core (< 4.0, >= 1.1)
  - GoogleUtilities/AppDelegateSwizzler (7.12.0):
    - GoogleUtilities/Environment
    - GoogleUtilities/Logger
    - GoogleUtilities/Network
  - GoogleUtilities/Environment (7.12.0):
    - PromisesObjC (< 3.0, >= 1.2)
  - GoogleUtilities/Logger (7.12.0):
    - GoogleUtilities/Environment
  - GoogleUtilities/Network (7.12.0):
    - GoogleUtilities/Logger
    - "GoogleUtilities/NSData+zlib"
    - GoogleUtilities/Reachability
  - "GoogleUtilities/NSData+zlib (7.12.0)"
  - GoogleUtilities/Reachability (7.12.0):
    - GoogleUtilities/Logger
  - "gRPC-C++ (1.49.1)":
    - "gRPC-C++/Implementation (= 1.49.1)"
    - "gRPC-C++/Interface (= 1.49.1)"
  - "gRPC-C++/Implementation (1.49.1)":
    - abseil/base/base (= 1.20220623.0)
    - abseil/base/core_headers (= 1.20220623.0)
    - abseil/cleanup/cleanup (= 1.20220623.0)
    - abseil/container/flat_hash_map (= 1.20220623.0)
    - abseil/container/flat_hash_set (= 1.20220623.0)
    - abseil/container/inlined_vector (= 1.20220623.0)
    - abseil/functional/any_invocable (= 1.20220623.0)
    - abseil/functional/bind_front (= 1.20220623.0)
    - abseil/functional/function_ref (= 1.20220623.0)
    - abseil/hash/hash (= 1.20220623.0)
    - abseil/memory/memory (= 1.20220623.0)
    - abseil/meta/type_traits (= 1.20220623.0)
    - abseil/random/random (= 1.20220623.0)
    - abseil/status/status (= 1.20220623.0)
    - abseil/status/statusor (= 1.20220623.0)
    - abseil/strings/cord (= 1.20220623.0)
    - abseil/strings/str_format (= 1.20220623.0)
    - abseil/strings/strings (= 1.20220623.0)
    - abseil/synchronization/synchronization (= 1.20220623.0)
    - abseil/time/time (= 1.20220623.0)
    - abseil/types/optional (= 1.20220623.0)
    - abseil/types/span (= 1.20220623.0)
    - abseil/types/variant (= 1.20220623.0)
    - abseil/utility/utility (= 1.20220623.0)
    - "gRPC-C++/Interface (= 1.49.1)"
    - gRPC-Core (= 1.49.1)
  - "gRPC-C++/Interface (1.49.1)"
  - gRPC-Core (1.49.1):
    - gRPC-Core/Implementation (= 1.49.1)
    - gRPC-Core/Interface (= 1.49.1)
  - gRPC-Core/Implementation (1.49.1):
    - abseil/base/base (= 1.20220623.0)
    - abseil/base/core_headers (= 1.20220623.0)
    - abseil/container/flat_hash_map (= 1.20220623.0)
    - abseil/container/flat_hash_set (= 1.20220623.0)
    - abseil/container/inlined_vector (= 1.20220623.0)
    - abseil/functional/any_invocable (= 1.20220623.0)
    - abseil/functional/bind_front (= 1.20220623.0)
    - abseil/functional/function_ref (= 1.20220623.0)
    - abseil/hash/hash (= 1.20220623.0)
    - abseil/memory/memory (= 1.20220623.0)
    - abseil/meta/type_traits (= 1.20220623.0)
    - abseil/random/random (= 1.20220623.0)
    - abseil/status/status (= 1.20220623.0)
    - abseil/status/statusor (= 1.20220623.0)
    - abseil/strings/cord (= 1.20220623.0)
    - abseil/strings/str_format (= 1.20220623.0)
    - abseil/strings/strings (= 1.20220623.0)
    - abseil/synchronization/synchronization (= 1.20220623.0)
    - abseil/time/time (= 1.20220623.0)
    - abseil/types/optional (= 1.20220623.0)
    - abseil/types/span (= 1.20220623.0)
    - abseil/types/variant (= 1.20220623.0)
    - abseil/utility/utility (= 1.20220623.0)
    - BoringSSL-GRPC (= 0.0.24)
    - gRPC-Core/Interface (= 1.49.1)
  - gRPC-Core/Interface (1.49.1)
  - GTMAppAuth (2.0.0):
    - AppAuth/Core (~> 1.6)
    - GTMSessionFetcher/Core (< 4.0, >= 1.5)
  - GTMSessionFetcher/Core (3.2.0)
  - leveldb-library (1.22.2)
  - nanopb (2.30909.1):
    - nanopb/decode (= 2.30909.1)
    - nanopb/encode (= 2.30909.1)
  - nanopb/decode (2.30909.1)
  - nanopb/encode (2.30909.1)
  - path_provider_foundation (0.0.1):
    - Flutter
    - FlutterMacOS
  - PromisesObjC (2.3.1)
  - RecaptchaInterop (100.0.0)

DEPENDENCIES:
  - cloud_firestore (from `.symlinks/plugins/cloud_firestore/ios`)
  - firebase_auth (from `.symlinks/plugins/firebase_auth/ios`)
  - firebase_core (from `.symlinks/plugins/firebase_core/ios`)
  - Flutter (from `Flutter`)
  - flutter_secure_storage (from `.symlinks/plugins/flutter_secure_storage/ios`)
  - google_sign_in_ios (from `.symlinks/plugins/google_sign_in_ios/darwin`)
  - path_provider_foundation (from `.symlinks/plugins/path_provider_foundation/darwin`)

SPEC REPOS:
  trunk:
    - abseil
    - AppAuth
    - BoringSSL-GRPC
    - Firebase
    - FirebaseAppCheckInterop
    - FirebaseAuth
    - FirebaseCore
    - FirebaseCoreExtension
    - FirebaseCoreInternal
    - FirebaseFirestore
    - FirebaseFirestoreInternal
    - FirebaseSharedSwift
    - GoogleSignIn
    - GoogleUtilities
    - "gRPC-C++"
    - gRPC-Core
    - GTMAppAuth
    - GTMSessionFetcher
    - leveldb-library
    - nanopb
    - PromisesObjC
    - RecaptchaInterop

EXTERNAL SOURCES:
  cloud_firestore:
    :path: ".symlinks/plugins/cloud_firestore/ios"
  firebase_auth:
    :path: ".symlinks/plugins/firebase_auth/ios"
  firebase_core:
    :path: ".symlinks/plugins/firebase_core/ios"
  Flutter:
    :path: Flutter
  flutter_secure_storage:
    :path: ".symlinks/plugins/flutter_secure_storage/ios"
  google_sign_in_ios:
    :path: ".symlinks/plugins/google_sign_in_ios/darwin"
  path_provider_foundation:
    :path: ".symlinks/plugins/path_provider_foundation/darwin"

SPEC CHECKSUMS:
  abseil: 926fb7a82dc6d2b8e1f2ed7f3a718bce691d1e46
  AppAuth: 3bb1d1cd9340bd09f5ed189fb00b1cc28e1e8570
  BoringSSL-GRPC: 3175b25143e648463a56daeaaa499c6cb86dad33
  cloud_firestore: 73eece22ce25a0565238c283ee9990f1618d8063
  Firebase: 414ad272f8d02dfbf12662a9d43f4bba9bec2a06
  firebase_auth: 8e9ec02991ca4659111cc671c84d0c010b6bfb26
  firebase_core: 0af4a2b24f62071f9bf283691c0ee41556dcb3f5
  FirebaseAppCheckInterop: e81bdb1cdb82f8e0cef353ba5018a8402682032c
  FirebaseAuth: 12314b438fa76048540c8fb86d6cfc9e08595176
  FirebaseCore: 2322423314d92f946219c8791674d2f3345b598f
  FirebaseCoreExtension: 0659f035b88c5a7a15a9763c48c2e6ca8c0a2977
  FirebaseCoreInternal: b444828ea7cfd594fca83046b95db98a2be4f290
  FirebaseFirestore: 171bcbb57a1a348dd171a0d5e382c03ef85a77bb
  FirebaseFirestoreInternal: 0dc0762afd68192e9d45c31d3dd3017accc84333
  FirebaseSharedSwift: 2fbf73618288b7a36b2014b957745dcdd781389e
  Flutter: f04841e97a9d0b0a8025694d0796dd46242b2854
  flutter_secure_storage: 23fc622d89d073675f2eaa109381aefbcf5a49be
  google_sign_in_ios: 1bfaf6607b44cd1b24c4d4bc39719870440f9ce1
  GoogleSignIn: b232380cf495a429b8095d3178a8d5855b42e842
  GoogleUtilities: 0759d1a57ebb953965c2dfe0ba4c82e95ccc2e34
  "gRPC-C++": 2df8cba576898bdacd29f0266d5236fa0e26ba6a
  gRPC-Core: a21a60aefc08c68c247b439a9ef97174b0c54f96
  GTMAppAuth: 99fb010047ba3973b7026e45393f51f27ab965ae
  GTMSessionFetcher: 41b9ef0b4c08a6db4b7eb51a21ae5183ec99a2c8
  leveldb-library: f03246171cce0484482ec291f88b6d563699ee06
  nanopb: d4d75c12cd1316f4a64e3c6963f879ecd4b5e0d5
  path_provider_foundation: 3784922295ac71e43754bd15e0653ccfd36a147c
  PromisesObjC: c50d2056b5253dadbd6c2bea79b0674bd5a52fa4
  RecaptchaInterop: 7d1a4a01a6b2cb1610a47ef3f85f0c411434cb21

PODFILE CHECKSUM: 70d9d25280d0dd177a5f637cdb0f0b0b12c6a189

COCOAPODS: 1.14.3


Luna0214 avatar Jan 23 '24 07:01 Luna0214

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

google-oss-bot avatar Jan 23 '24 07:01 google-oss-bot

Thanks for filing, @Luna0214. I tried to reproduce the issue and I was able to get the same behavior. Per checking, this seems like an intended behavior when the enumeration protection feature is enabled.

rizafran avatar Jan 23 '24 15:01 rizafran

@rizafran Thank you for your attention and giving me a great answer! I really appreciated. Well, in my perspective, the enumeration protection feature is good for protecting the firebase server. On the other hand, what if some random attackers using the "sendPasswordResetEmail" function to make massive traffic to someone's email address? What if the someone is not even in my firebase auth database? Is that possible to protect with the "too-many-request" exception as "signInWithEmailAndPassword" function? I just wonder how it works in terms of safety issues.

Luna0214 avatar Jan 24 '24 02:01 Luna0214

I don't understand how the documentation in firebase_auth_provider.dart does not account for this... It still shows that there is a firebaseauthexception that should be thrown. I am growing to really hate google for not providing proper clarity on these types of things.

The other day I was trying to figure out why the coordinates pulled from exif data of images were null, turns out they do not allow you to access this data via the android imagepicker and REDACT it in the name of privacy.. Even though user has already granted permissions to the photo. Someone had to report it as a bug before they got around to telling anyone about this change.

If I never have to spend another hour debugging only to find it's actually an "intended behavoir" from Google it'll be too soon.

JasonBennett41 avatar Mar 21 '24 09:03 JasonBennett41