firebase-ios-sdk: [FirebaseAuth] Error 17006, The given sign-in provider is disabled

Description

Hello! Today Auth stopped working. When I try to verify phone number (by calling PhoneAuthProvider.provider().verifyPhoneNumber method) I always receive error: “The given sign-in provider is disabled for this Firebase project. Enable it in the Firebase console, under the sign-in method tab of the Auth section.” Of course phone sign-in provider is enabled it in the Firebase console, and all regions are enabled for sms verification. Actually - everything worked like a charm and we didn’t make any changes, but today it suddenly started to throw the error. One more detail we found - for US numbers it works correctly, but for UA (Ukraine) numbers - it produces the error. We have tried to add Ukraine to the list of regions for sms verification directly - no effect. Please help, we have tried everything… It looks like a bug((

Screenshot 2023-10-15 at 21 59 15 Screenshot 2023-10-15 at 21 59 07

Reproducing the issue

No response

Firebase SDK Version

10.16.0

Xcode Version

15.0

Installation Method

CocoaPods

Firebase Product(s)

Authentication

Targeted Platforms

iOS

Relevant Log Output

Error Domain=FIRAuthErrorDomain Code=17006 "The given sign-in provider is disabled for this Firebase project. Enable it in the Firebase console, under the sign-in method tab of the Auth section." UserInfo={NSLocalizedDescription=The given sign-in provider is disabled for this Firebase project. Enable it in the Firebase console, under the sign-in method tab of the Auth section., FIRAuthErrorUserInfoNameKey=ERROR_OPERATION_NOT_ALLOWED}

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

Expand Package.resolved snippet

Replace this line with the contents of your Package.resolved.

If using CocoaPods, the project’s Podfile.lock

Expand Podfile.lock snippet

Replace this line with the contents of your Podfile.lock!

About this issue

  • Original URL
  • State: closed
  • Created 9 months ago
  • Reactions: 11
  • Comments: 24 (5 by maintainers)

Most upvoted comments

Hey @rizafran @paulb777 and all Firebase Team.

The situation looks weird. And very important questions are not addressed yet, could you please answer the following:

  1. Why test numbers which don’t rely on SMS delivery are not working?
  2. I can send SMS within Ukraine, which means the issue is NOT technical. Who are that “carriers” (names) You are referring to? (which does not provide delivery in Ukraine)

Thank you for the Support.

I did my best to explain the issue to tech support, but it seems they just decided to drop support for Ukraine region. Here’s my conversation with them.

Inbox 2023-10-18 19-54-37

Just heard this from a product manager:

“Hi folks, we are fully unblocking all carriers in Ukraine, so all support cases with “error: 39” in Ukraine should resolve in the next 4-5 hours. If customers still experience any issues, please let me know.”

The same issue started for two days ago, only for Ukrainian phone numbers. Looks like Firebase don’t support Ukraine numbers any more. Its very sad, but we still waiting official answer from Firebase support

@rizafran I don’t understand why test numbers are not working. There is no need of SMS delivery in this case. image

Bumping this issue - many Ukrainian services are influenced by this! The block on test numbers is not helping.

We also face this issue with UA phone numbers in our project. Tech support repeatedly claims that the problem lies within the Ukraine region. However, this isn’t true, as Firebase isn’t even attempting to send an SMS. I believe the solution is to move away from Firebase and avoid relying on it.

@rizafran I don’t understand why test numbers are not working. There is no need of SMS delivery in this case. image

Yes, I wrote about this earlier. The test “+380” numbers worked for a while when the real “+380” numbers did not. It seems that most likely the developers simply decided to block all numbers starting with “+380”. Please return the test numbers back to working order. It is not SMS issue.

The same issue happens with my project. After October 10-11th it suddenly stopped working for UA numbers, even if I added it as a test number.

Hi everyone!

Have the same error.

It all started about 1-2 weeks ago. Authorization by phone number did not work for numbers starting with “+380”.

For example, on this service https://fir-ui-demo-84a6c.firebaseapp.com I received the error: { “error”: { “code”: 503, “message”: “Error code: 39”, “errors”: [ { “message”: “Error code: 39”, “domain”: “global”, “reason”: “backendError” } ] } }

But at the same time if you add such a number to the test set of phone numbers, then the authorization worked well.

However, about a day ago, even this approach of using test phone numbers stopped working and now the error looks like this: “The given sign-in provider is disabled for this Firebase project. Enable it in the Firebase console, under the sign-in method tab of the Auth section.”

I understand that sending SMS may not work for some independent reason. But in this case, even test phone numbers starting with “+380” do not work at all.

@rizafran Detailed step to reproduce is just to try to call verifyPhoneNumber with “+380931112233” number, for example. Any Ukrainian number (starts with +380) causes the error. The region of device is USA, locale - English, iOS 16.0, Xcode 15.0…

the same problem with Ukrainian numbers. To reproduce try it with the following phone number pattern: +38050 XXX-XX-XX

Just for additional information: I am reproducing it on Android devices (emulator and physical) with both “test” and real phone numbers.

I was using the following firebase dependencies: firebase_auth: ^4.9.0 firebase_core: ^2.15.1 firebase_messaging: ^14.6.7

And tried to update it to, but still the same error. firebase_auth: ^4.10.1 firebase_core: ^2.17.0 firebase_messaging: ^14.6.9

@rizafran if you need any more details, please let me know. If its possible to do any workaround for now - please also let know, this will unblock the work.

Thanks for the help.

I’ll reopen to improve the error message from the SDK.

@rizafran what about changing the error message? it’s really misleading. I spent a lot of time to find issues on my side. and I’m sure not only me.

I have the same issue since 14 October, and the answer from Google support ☹️:

Hello Maksym.

I’m Oscar, thanks for reaching out. I’ll be assisting you.

Thank you for the report. We have verified the issue and have found that there are some key points: The issue is related to the region availability not if the service is enabled in the Firebase Console. Services are available in nearby regions, so it is not a problem with Google data centers. Firebase services are healthy and stable. The problem seems to be localized in one region and for some carriers. Given this information, there is little we can do to improve the availability. We have already reached out to report the error and we recommend that you do so as well in the local carriers.

Firebase is not responsible for SMS delivery. We rely on carriers to deliver SMS in the different regions where Firebase provides the Phone Authentication service.

We apologize that we do not have better news or options for you at this time. We understand that this is an important feature for your application, so it would be good to consider other options such as other auth methods or providers. We would be happy to help you implement a different Firebase auth method.

Kind regards. Oscar.

Have the same issue.

Hi all, I was able to reproduce the issue when I tried to login using a number with +380. As much as I’d like to help, this issue seems to be backend-related rather than SDK-related. As mentioned by the support, unfortunately, Firebase is not responsible for SMS delivery. We rely on carriers to deliver SMS in the different regions where Firebase provides the Phone Authentication service. Hope you understand.

I’ll now be closing this ticket, but if you have additional questions, feel free to file through our support channel.