The docs say
For example, \'facebook.com\', or \'google.com\'.
However, is the exhaustive list available somewhere and can I dep
From the Sign-In Method sub-tab within Authentication found on the Firebase console for any project, you can see a list of available Sign-in providers:
Firebase's documentation doesn't seem to be even across different platforms, but for the iOS Reference docs there is a list of FirebaseAuth Constants that match up with those from the project console dashboard, with the exception of Anonymous provider:
After making a new iOS project from scratch and adding this code to the didFinishLaunchingWithOptions
method:
FirebaseApp.configure()
print("EmailAuthProviderID: " + EmailAuthProviderID)
print("PhoneAuthProviderID: " + PhoneAuthProviderID)
print("GoogleAuthProviderID: " + GoogleAuthProviderID)
print("FacebookAuthProviderID: " + FacebookAuthProviderID)
print("TwitterAuthProviderID: " + TwitterAuthProviderID)
print("GitHubAuthProviderID: " + GitHubAuthProviderID)
print("AppleAuthProviderID: " + AppleAuthProviderID)
print("YahooAuthProviderID: " + YahooAuthProviderID)
print("MicrosoftAuthProviderID: " + MicrosoftAuthProviderID)
The output I get is:
EmailAuthProviderID: password
PhoneAuthProviderID: phone
GoogleAuthProviderID: google.com
FacebookAuthProviderID: facebook.com
TwitterAuthProviderID: twitter.com
GitHubAuthProviderID: github.com
AppleAuthProviderID: apple.com
YahooAuthProviderID: yahoo.com
MicrosoftAuthProviderID: hotmail.com
import com.google.firebase.auth.*
val user = FirebaseAuth.getInstance().currentUser
user?.let {
for (profile in it.providerData) {
when(profile.providerId){
GoogleAuthProvider.PROVIDER_ID -> {
}
EmailAuthProvider.PROVIDER_ID -> {
}
PhoneAuthProvider.PROVIDER_ID -> {
}
FacebookAuthProvider.PROVIDER_ID -> {
}
TwitterAuthProvider.PROVIDER_ID -> {
}
GithubAuthProvider.PROVIDER_ID -> {
}
}
}
}
Here are Firebase SDK provider classes.
Strange is MicrosoftAuthProvider is missing on js SDK (but works) and available on unity SDK
you can use this method to identify the Type of Provider :
private String checkType(String s) {
String type;
switch (s) {
case "password":
type = "EmailAuthProviderID";
break;
case "phone":
type = "PhoneAuthProviderID";
break;
case "google.com":
type = "GoogleAuthProviderID";
break;
case "facebook.com":
type = "FacebookAuthProviderID";
break;
case "twitter.com":
type = "TwitterAuthProviderID";
break;
case "github.com":
type = "GitHubAuthProviderID";
break;
}
}
Simplest way is to check the providers list in the rules tab: