Merge branch 'master' of https://github.com/invertase/react-native-firebase into multi-apps
This commit is contained in:
commit
ef259fbbc0
|
@ -719,6 +719,38 @@ class RNFirebaseAuth extends ReactContextBaseJavaModule {
|
|||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* unlink
|
||||
*
|
||||
* @url https://firebase.google.com/docs/reference/android/com/google/firebase/auth/FirebaseUser.html#unlink(java.lang.String)
|
||||
* @param providerId
|
||||
* @param promise
|
||||
*/
|
||||
@ReactMethod
|
||||
public void unlink(final String providerId, final Promise promise) {
|
||||
FirebaseUser user = mAuth.getCurrentUser();
|
||||
Log.d(TAG, "unlink");
|
||||
|
||||
if (user != null) {
|
||||
user.unlink(providerId)
|
||||
.addOnCompleteListener(new OnCompleteListener<AuthResult>() {
|
||||
@Override
|
||||
public void onComplete(@NonNull Task<AuthResult> task) {
|
||||
if (task.isSuccessful()) {
|
||||
Log.d(TAG, "unlink:onComplete:success");
|
||||
promiseWithUser(task.getResult().getUser(), promise);
|
||||
} else {
|
||||
Exception exception = task.getException();
|
||||
Log.e(TAG, "unlink:onComplete:failure", exception);
|
||||
promiseRejectAuthException(promise, exception);
|
||||
}
|
||||
}
|
||||
});
|
||||
} else {
|
||||
promiseNoUser(promise, true);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* reauthenticate
|
||||
*
|
||||
|
|
|
@ -621,6 +621,32 @@ RCT_EXPORT_METHOD(link:(NSString *) appName
|
|||
}
|
||||
}
|
||||
|
||||
/**
|
||||
unlink
|
||||
|
||||
@param NSString provider
|
||||
@param NSString authToken
|
||||
@param NSString authSecret
|
||||
@param RCTPromiseResolveBlock resolve
|
||||
@param RCTPromiseRejectBlock reject
|
||||
@return
|
||||
*/
|
||||
RCT_EXPORT_METHOD(unlink:(NSString *)providerId resolver:(RCTPromiseResolveBlock) resolve rejecter:(RCTPromiseRejectBlock) reject) {
|
||||
FIRUser *user = [FIRAuth auth].currentUser;
|
||||
|
||||
if (user) {
|
||||
[user unlinkFromProvider:providerId completion:^(FIRUser *_Nullable _user, NSError *_Nullable error) {
|
||||
if (error) {
|
||||
[self promiseRejectAuthException:reject error:error];
|
||||
} else {
|
||||
[self promiseWithUser:resolve rejecter:reject user:_user];
|
||||
}
|
||||
}];
|
||||
} else {
|
||||
[self promiseNoUser:resolve rejecter:reject isError:YES];
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
reauthenticate
|
||||
|
||||
|
|
|
@ -59,11 +59,11 @@ export default class User {
|
|||
* PROPERTIES
|
||||
*/
|
||||
|
||||
get displayName(): String|null {
|
||||
get displayName(): String | null {
|
||||
return this._valueOrNull('displayName');
|
||||
}
|
||||
|
||||
get email(): String|null {
|
||||
get email(): String | null {
|
||||
return this._valueOrNull('email');
|
||||
}
|
||||
|
||||
|
@ -75,7 +75,7 @@ export default class User {
|
|||
return this._valueOrFalse('isAnonymous');
|
||||
}
|
||||
|
||||
get photoURL(): String|null {
|
||||
get photoURL(): String | null {
|
||||
return this._valueOrNull('photoURL');
|
||||
}
|
||||
|
||||
|
@ -112,6 +112,15 @@ export default class User {
|
|||
return this._auth._interceptUserValue(this._auth._native.link(credential.provider, credential.token, credential.secret));
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @param providerId
|
||||
* @return {Promise.<TResult>|*}
|
||||
*/
|
||||
unlink(providerId: string) {
|
||||
return this._auth._interceptUserValue(FirebaseAuth.unlink(providerId));
|
||||
}
|
||||
|
||||
/**
|
||||
* Re-authenticate a user with a third-party authentication provider
|
||||
* @return {Promise} A promise resolved upon completion
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "react-native-firebase",
|
||||
"version": "2.0.2",
|
||||
"version": "2.0.3",
|
||||
"author": "Invertase <contact@invertase.io> (http://invertase.io)",
|
||||
"description": "A well tested, feature rich Firebase implementation for React Native, supporting iOS & Android. Individual module support for Auth, Database, Messaging, Remote Config, Storage, Admob, Analytics, Crash Reporting, and Performance.",
|
||||
"main": "index",
|
||||
|
|
Loading…
Reference in New Issue