@@ -23,46 +23,44 @@ actual class PhoneAuthCredential(override val android: com.google.firebase.auth.
23
23
actual class OAuthCredential (override val android : com.google.firebase.auth.OAuthCredential ) : AuthCredential(android)
24
24
25
25
actual object EmailAuthProvider {
26
- actual fun credentialWithEmail (
26
+ actual fun credential (
27
27
email : String ,
28
28
password : String
29
29
): AuthCredential = AuthCredential (com.google.firebase.auth.EmailAuthProvider .getCredential(email, password))
30
30
}
31
31
32
32
actual object FacebookAuthProvider {
33
- actual fun credentialWithAccessToken (accessToken : String ): AuthCredential = AuthCredential (com.google.firebase.auth.FacebookAuthProvider .getCredential(accessToken))
33
+ actual fun credential (accessToken : String ): AuthCredential = AuthCredential (com.google.firebase.auth.FacebookAuthProvider .getCredential(accessToken))
34
34
}
35
35
36
36
actual object GithubAuthProvider {
37
- actual fun credentialWithToken (token : String ): AuthCredential = AuthCredential (com.google.firebase.auth.GithubAuthProvider .getCredential(token))
37
+ actual fun credential (token : String ): AuthCredential = AuthCredential (com.google.firebase.auth.GithubAuthProvider .getCredential(token))
38
38
}
39
39
40
40
actual object GoogleAuthProvider {
41
- actual fun credentialWithIDAndAccessToken (idToken : String , accessToken : String ): AuthCredential = AuthCredential (com.google.firebase.auth.GoogleAuthProvider .getCredential(idToken, accessToken))
41
+ actual fun credential (idToken : String , accessToken : String ): AuthCredential = AuthCredential (com.google.firebase.auth.GoogleAuthProvider .getCredential(idToken, accessToken))
42
42
}
43
43
44
44
actual class OAuthProvider (val android : com.google.firebase.auth.OAuthProvider .Builder , private val auth : FirebaseAuth ) {
45
45
actual constructor (provider: String , auth: FirebaseAuth ) : this (com.google.firebase.auth.OAuthProvider .newBuilder(provider, auth.android), auth)
46
46
47
47
actual companion object {
48
- actual fun credentialsWithAccessToken (providerId : String , accessToken : String ): AuthCredential = createCredentials(providerId) {
49
- this .accessToken = accessToken
50
- }
51
- actual fun credentialsWithIDAndAccessToken (providerId : String , idToken : String , accessToken : String ): AuthCredential = createCredentials(providerId) {
52
- setIdToken(idToken)
53
- this .accessToken = accessToken
54
- }
55
- actual fun credentialsWithIDRawNonceAndAccessToken (providerId : String , idToken : String , rawNonce : String , accessToken : String ): AuthCredential = createCredentials(providerId) {
56
- setIdTokenWithRawNonce(idToken, rawNonce)
57
- this .accessToken = accessToken
58
- }
59
- actual fun credentialsWithIDAndRawNonce (providerId : String , idToken : String , rawNonce : String ): AuthCredential = createCredentials(providerId) {
60
- setIdTokenWithRawNonce(idToken, rawNonce)
61
- }
62
-
63
- private fun createCredentials (providerId : String , block : com.google.firebase.auth.OAuthProvider .CredentialBuilder .() -> Unit ): AuthCredential {
64
- val credential = com.google.firebase.auth.OAuthProvider .newCredentialBuilder(providerId).apply {
65
- block()
48
+ actual fun credentials (type : OAuthCredentialsType ): AuthCredential {
49
+ val credential = com.google.firebase.auth.OAuthProvider .newCredentialBuilder(type.providerId).apply {
50
+ when (type) {
51
+ is OAuthCredentialsType .AccessToken -> accessToken = type.accessToken
52
+ is OAuthCredentialsType .IdAndAccessToken -> {
53
+ accessToken = type.accessToken
54
+ setIdToken(type.idToken)
55
+ }
56
+ is OAuthCredentialsType .IdAndAccessTokenAndRawNonce -> {
57
+ accessToken = type.accessToken
58
+ setIdTokenWithRawNonce(type.idToken, type.rawNonce)
59
+ }
60
+ is OAuthCredentialsType .IdTokenAndRawNonce -> {
61
+ setIdTokenWithRawNonce(type.idToken, type.rawNonce)
62
+ }
63
+ }
66
64
}.build()
67
65
return (credential as ? com.google.firebase.auth.OAuthCredential )?.let { OAuthCredential (it) } ? : AuthCredential (credential)
68
66
}
@@ -87,7 +85,7 @@ actual class PhoneAuthProvider(val android: com.google.firebase.auth.PhoneAuthPr
87
85
88
86
actual constructor (auth: FirebaseAuth ) : this (com.google.firebase.auth.PhoneAuthProvider .getInstance(auth.android))
89
87
90
- actual fun credentialWithVerificationIdAndSmsCode (verificationId : String , smsCode : String ): PhoneAuthCredential = PhoneAuthCredential (com.google.firebase.auth.PhoneAuthProvider .getCredential(verificationId, smsCode))
88
+ actual fun credential (verificationId : String , smsCode : String ): PhoneAuthCredential = PhoneAuthCredential (com.google.firebase.auth.PhoneAuthProvider .getCredential(verificationId, smsCode))
91
89
actual suspend fun verifyPhoneNumber (phoneNumber : String , verificationProvider : PhoneVerificationProvider ): AuthCredential = coroutineScope {
92
90
val response = CompletableDeferred <Result <AuthCredential >>()
93
91
val callback = object :
@@ -102,7 +100,7 @@ actual class PhoneAuthProvider(val android: com.google.firebase.auth.PhoneAuthPr
102
100
val code = verificationProvider.getVerificationCode()
103
101
try {
104
102
val credentials =
105
- credentialWithVerificationIdAndSmsCode (verificationId, code)
103
+ credential (verificationId, code)
106
104
response.complete(Result .success(credentials))
107
105
} catch (e: Exception ) {
108
106
response.complete(Result .failure(e))
@@ -134,5 +132,5 @@ actual interface PhoneVerificationProvider {
134
132
}
135
133
136
134
actual object TwitterAuthProvider {
137
- actual fun credentialWithTokenAndSecret (token : String , secret : String ): AuthCredential = AuthCredential (com.google.firebase.auth.TwitterAuthProvider .getCredential(token, secret))
135
+ actual fun credential (token : String , secret : String ): AuthCredential = AuthCredential (com.google.firebase.auth.TwitterAuthProvider .getCredential(token, secret))
138
136
}
0 commit comments