重新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)