diff --git a/packages/firebase_auth/CHANGELOG.md b/packages/firebase_auth/CHANGELOG.md index b2a0c72b12d8..2b5ffea63c6c 100644 --- a/packages/firebase_auth/CHANGELOG.md +++ b/packages/firebase_auth/CHANGELOG.md @@ -1,3 +1,8 @@ +## 0.14.0+11 + +* Fixed behavior of `reauthenticateWithCredential`. +* Added integration test for `reauthenticateWithCredential`. + ## 0.14.0+10 * Formatted lists in member documentations for better readability. diff --git a/packages/firebase_auth/android/src/main/java/io/flutter/plugins/firebaseauth/FirebaseAuthPlugin.java b/packages/firebase_auth/android/src/main/java/io/flutter/plugins/firebaseauth/FirebaseAuthPlugin.java index c135259f22d1..497cd580bdb7 100755 --- a/packages/firebase_auth/android/src/main/java/io/flutter/plugins/firebaseauth/FirebaseAuthPlugin.java +++ b/packages/firebase_auth/android/src/main/java/io/flutter/plugins/firebaseauth/FirebaseAuthPlugin.java @@ -492,7 +492,7 @@ private void handleReauthenticateWithCredential( currentUser .reauthenticate(credential) - .addOnCompleteListener(new TaskVoidCompleteListener(result)); + .addOnCompleteListener(new SignInCompleteListener(result)); } private void handleUnlinkFromProvider(MethodCall call, Result result, FirebaseAuth firebaseAuth) { diff --git a/packages/firebase_auth/example/test/firebase_auth.dart b/packages/firebase_auth/example/test/firebase_auth.dart index cbbe7d4f23bf..c32f0f59aa3b 100644 --- a/packages/firebase_auth/example/test/firebase_auth.dart +++ b/packages/firebase_auth/example/test/firebase_auth.dart @@ -92,7 +92,14 @@ void main() { await auth.fetchSignInMethodsForEmail(email: testEmail); expect(methods.length, 1); expect(methods[0], 'password'); - await user.delete(); + AuthResult renewResult = await result.user.reauthenticateWithCredential( + EmailAuthProvider.getCredential( + email: testEmail, + password: testPassword, + ), + ); + expect(renewResult.user.uid, equals(user.uid)); + await renewResult.user.delete(); }); test('isSignInWithEmailLink', () async { diff --git a/packages/firebase_auth/ios/Classes/FirebaseAuthPlugin.m b/packages/firebase_auth/ios/Classes/FirebaseAuthPlugin.m index 927a8692a1a1..8950e17374fa 100644 --- a/packages/firebase_auth/ios/Classes/FirebaseAuthPlugin.m +++ b/packages/firebase_auth/ios/Classes/FirebaseAuthPlugin.m @@ -240,7 +240,7 @@ - (void)handleMethodCall:(FlutterMethodCall *)call result:(FlutterResult)result reauthenticateAndRetrieveDataWithCredential:[self getCredential:call.arguments] completion:^(FIRAuthDataResult *r, NSError *_Nullable error) { - [self sendResult:result forObject:nil error:error]; + [self sendResult:result forAuthDataResult:authResult error:error]; }]; } else if ([@"linkWithCredential" isEqualToString:call.method]) { [[self getAuth:call.arguments].currentUser diff --git a/packages/firebase_auth/pubspec.yaml b/packages/firebase_auth/pubspec.yaml index 625d7f459a00..827adf02c6ff 100755 --- a/packages/firebase_auth/pubspec.yaml +++ b/packages/firebase_auth/pubspec.yaml @@ -4,7 +4,7 @@ description: Flutter plugin for Firebase Auth, enabling Android and iOS like Google, Facebook and Twitter. author: Flutter Team homepage: https://github.com/FirebaseExtended/flutterfire/tree/master/packages/firebase_auth -version: 0.14.0+10 +version: 0.14.0+11 flutter: plugin: