I am working on a log in for a web application, and I have made it so the user can sign in manually with their email and password or by using a google sign in. Is there a way to
@mjrdnk's answer is correct, but there are cases that are not covered by the answer so I find that this solution works best in all cases (that I have tested).
val user = firebaseAuth.currentUser
user?.let {
authProvider = when (it.providerData[it.providerData.size-1].providerId) {
"phone" -> {
ConnectedUser.LOGIN_PROVIDERS.PHONE
}
"password" -> {
// Email and password
ConnectedUser.LOGIN_PROVIDERS.EMAIL
}
else -> {
ConnectedUser.LOGIN_PROVIDERS.UNKNOWN
}
}
.
.
.
Wonderful source of information: FirebaseUI for Auth
Some provider names follow (see above source code for more):
ANONYMOUS_PROVIDER = "anonymous"
EMAIL_LINK_SIGN_IN_METHOD = "emailLink"
EMAIL_PASSWORD_SIGN_IN_METHOD = "password"
MICROSOFT_PROVIDER = "microsoft.com"
YAHOO_PROVIDER = "yahoo.com"
APPLE_PROVIDER = "apple.com"
PHONE = "phone"