【问题标题】:Firebase Auth provider id constants in Android/kotlin?Android/kotlin 中的 Firebase 身份验证提供程序 ID 常量?
【发布时间】:2019-08-04 07:01:10
【问题描述】:

在 iOS 上,我们可以轻松检索不同提供商 ID 的常量,参见 What is the full list of provider id's for firebase.UserInfo.providerId?

但是我没有看到这些适用于 Android (Kotlin) 的常量?

【问题讨论】:

    标签: firebase firebase-authentication


    【解决方案1】:

    我找到了:

       import com.google.firebase.auth.EmailAuthProvider
       import com.google.firebase.auth.FacebookAuthProvider
       import com.google.firebase.auth.FirebaseUser
       import com.google.firebase.auth.GoogleAuthProvider
    
    
       fun FirebaseUser.loginType(): LoginType {
            if (isAnonymous) {
                return LoginType.Anonymous
            }
            Log.debug("providerId: $providerId")
            Log.debug("EmailAuthProvider: ${EmailAuthProvider.PROVIDER_ID}")
            Log.debug("GoogleAuthProvider: ${GoogleAuthProvider.PROVIDER_ID}")
            Log.debug("FacebookAuthProvider: ${FacebookAuthProvider.PROVIDER_ID}")
    
            loop@ for (userInfo in providerData) {
                when (userInfo.providerId) {
                    EmailAuthProvider.PROVIDER_ID -> return LoginType.Email
                    GoogleAuthProvider.PROVIDER_ID -> return LoginType.Google
                    FacebookAuthProvider.PROVIDER_ID -> return LoginType.Facebook
                    else -> continue@loop
                }
            }
            return LoginType.Unknown
        }
    
        fun FirebaseUser.loggedInWith(): String {
            return when (loginType()) {
                LoginType.Anonymous -> "Anonymous"
                LoginType.Email -> email ?: "?"
                LoginType.Facebook -> "Facebook"
                LoginType.Google -> "Google"
                LoginType.Unknown -> "???"
            }
        }
    

    【讨论】:

      猜你喜欢
      • 2020-08-21
      • 2018-10-31
      • 2017-01-10
      • 2023-03-15
      • 2017-12-25
      • 1970-01-01
      • 2016-12-19
      • 1970-01-01
      • 2015-08-24
      相关资源
      最近更新 更多