Skip to content

Commit dd2e9d7

Browse files
committed
Add externals signInWithPopup, signInWithRedirect, getRedirectResult
1 parent 541ea99 commit dd2e9d7

File tree

1 file changed

+27
-2
lines changed
  • firebase-auth/src/jsMain/kotlin/dev/gitlive/firebase/auth/externals

1 file changed

+27
-2
lines changed

firebase-auth/src/jsMain/kotlin/dev/gitlive/firebase/auth/externals/auth.kt

+27-2
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,12 @@ external fun signInWithEmailAndPassword(
7777

7878
external fun signInWithEmailLink(auth: Auth, email: String, link: String): Promise<AuthResult>
7979

80+
external fun signInWithPopup(auth: Auth, provider: AuthProvider): Promise<UserCredential>
81+
82+
external fun signInWithRedirect(auth: Auth, provider: AuthProvider): Promise<Nothing>
83+
84+
external fun getRedirectResult(auth: Auth): Promise<UserCredential?>
85+
8086
external fun signOut(auth: Auth): Promise<Unit>
8187

8288
external fun unlink(user: User, providerId: String): Promise<User>
@@ -169,6 +175,18 @@ external interface AuthCredential {
169175
val signInMethod: String
170176
}
171177

178+
external interface OAuthCredential : AuthCredential {
179+
val accessToken: String?
180+
val idToken: String?
181+
val secret: String?
182+
}
183+
184+
external interface UserCredential {
185+
val operationType: String
186+
val providerId: String?
187+
val user: User
188+
}
189+
172190
external interface ProfileUpdateRequest {
173191
val displayName: String?
174192
val photoURL: String?
@@ -206,6 +224,8 @@ external interface MultiFactorResolver {
206224

207225
external interface AuthProvider
208226

227+
external interface AuthError
228+
209229
external object EmailAuthProvider : AuthProvider {
210230
fun credential(email: String, password: String): AuthCredential
211231
fun credentialWithLink(email: String, emailLink: String): AuthCredential
@@ -219,8 +239,13 @@ external object GithubAuthProvider : AuthProvider {
219239
fun credential(token: String): AuthCredential
220240
}
221241

222-
external object GoogleAuthProvider : AuthProvider {
223-
fun credential(idToken: String?, accessToken: String?): AuthCredential
242+
external class GoogleAuthProvider : AuthProvider {
243+
fun addScope(scope: String)
244+
companion object {
245+
fun credential(idToken: String?, accessToken: String?): AuthCredential
246+
fun credentialFromResult(userCredential: UserCredential): OAuthCredential?
247+
fun credentialFromError(error: AuthError): OAuthCredential?
248+
}
224249
}
225250

226251
external class OAuthProvider(providerId: String) : AuthProvider {

0 commit comments

Comments
 (0)