重新authentication用户凭据Swift

我希望在允许用户更改其login信息之前重新对用户进行身份validation。 但是,由于最近的Firebase更新,我发现文档相当无益。 使用这个链接我产生了下面的authenticateUser()函数。

func authenticateUser() { let user = FIRAuth.auth()?.currentUser var credential: FIRAuthCredential //prompt user to re-enter info user?.reauthenticateWithCredential(credential, completion: { (error) in if error != nil { self.displayAlertMessage("Error reauthenticating user") } else { //user reauthenticated successfully } }) } 

但是,我不确定如何处理types为FIRAuthCredential的凭证variables,以重新validation用户身份。 这个类的文档可以在这里find。

获取FIRAuthCredential对象取决于您想要使用哪个提供程序进行重新validation。

电子邮件:

 let credential = FIREmailPasswordAuthProvider.credentialWithEmail(email, password: password) 

Facebook的:

 let credential = FIRFacebookAuthProvider.credentialWithAccessToken(FBSDKAccessToken.currentAccessToken().tokenString) 

推特:

 let credential = FIRTwitterAuthProvider.credentialWithToken(session.authToken, secret: session.authTokenSecret) 

谷歌:

 let authentication = user.authentication let credential = FIRGoogleAuthProvider.credentialWithIDToken(authentication.idToken, accessToken: authentication.accessToken)