Description
After updating to Firebase iOS SDK 12.17.0, callable requests from a physical iPhone to the local Functions emulator arrive without authentication.
The app is connected to the Auth and Functions emulators using my Mac's LAN address. Google sign-in succeeds, currentUser is set, and the user appears in the Auth emulator. The next callable request still reaches the Functions emulator, but request.auth is undefined.
In my app, this was especially confusing because the backend treated the request as a guest onboarding request and returned an anonymous custom token. The client then replaced the correctly signed-in Google user with that anonymous user.
I found #16395, so I understand that withholding credentials over non-loopback HTTP is intentional. I am not asking for the old behavior to be restored by default.
The problem is that I cannot find a supported replacement for testing authenticated callables on a physical device. The phone cannot use the Mac's loopback address, and the Firebase CLI serves the Functions emulator over HTTP. The SDK also continues making the request without credentials, which can change application behavior rather than producing a clear connection or security error.
Could the physical-device workflow be documented? If HTTPS is the intended solution, it would be helpful to show how useEmulator should be configured when the Firebase CLI itself serves HTTP. It may also be safer to fail the request when credentials are withheld instead of silently sending it unauthenticated.
Environment:
- Physical iPhone 13 running iOS 26.6
- Xcode 26.4.1
- Firebase iOS SDK 12.17.0
- CocoaPods
- Firebase CLI 15.18.0
- React Native Firebase 26.2.0
Reproducing the issue
- Start the Authentication and Functions emulators and expose them on the local network.
- On a physical iPhone, configure both emulators using the Mac's LAN IP address.
- Sign in with Google through the Authentication emulator.
- Confirm that
Auth.auth().currentUser is set.
- Call an HTTPS callable function that logs
request.auth?.uid.
- The function runs, but the UID is missing.
The same app then reports auth/required for authenticated callable actions.
Firebase SDK Version
12.17.0
Xcode Version
26.4.1
Installation Method
CocoaPods
Firebase Product(s)
Targeted Platforms
Relevant Podfile.lock entries
- Firebase/Auth (12.17.0)
- Firebase/Functions (12.17.0)
- FirebaseFunctions (12.17.0)
- RNFBApp (26.2.0)
- RNFBAuth (26.2.0)
- RNFBFunctions (26.2.0)
Description
After updating to Firebase iOS SDK 12.17.0, callable requests from a physical iPhone to the local Functions emulator arrive without authentication.
The app is connected to the Auth and Functions emulators using my Mac's LAN address. Google sign-in succeeds,
currentUseris set, and the user appears in the Auth emulator. The next callable request still reaches the Functions emulator, butrequest.authis undefined.In my app, this was especially confusing because the backend treated the request as a guest onboarding request and returned an anonymous custom token. The client then replaced the correctly signed-in Google user with that anonymous user.
I found #16395, so I understand that withholding credentials over non-loopback HTTP is intentional. I am not asking for the old behavior to be restored by default.
The problem is that I cannot find a supported replacement for testing authenticated callables on a physical device. The phone cannot use the Mac's loopback address, and the Firebase CLI serves the Functions emulator over HTTP. The SDK also continues making the request without credentials, which can change application behavior rather than producing a clear connection or security error.
Could the physical-device workflow be documented? If HTTPS is the intended solution, it would be helpful to show how
useEmulatorshould be configured when the Firebase CLI itself serves HTTP. It may also be safer to fail the request when credentials are withheld instead of silently sending it unauthenticated.Environment:
Reproducing the issue
Auth.auth().currentUseris set.request.auth?.uid.The same app then reports
auth/requiredfor authenticated callable actions.Firebase SDK Version
12.17.0
Xcode Version
26.4.1
Installation Method
CocoaPods
Firebase Product(s)
Targeted Platforms
Relevant Podfile.lock entries