2016-03-17 90 views
0

我試圖在使用swift 2和Firebase的應用程序中設置密碼重置。Firebase/Swift 2 - 如何獲取經過身份驗證的用戶密碼和電子郵件

繼重火力例如:

let ref = Firebase(url: "https://<YOUR-FIREBASE-APP>.firebaseio.com") 
ref.changePasswordForUser("[email protected]", fromOld: "correcthorsebatterystaple", 
toNew: "batteryhorsestaplecorrect", withCompletionBlock: { error in 

    if error != nil { 
     // There was an error processing the request 
    } else { 
     // Password changed successfully 
    } 
}) 

我如何可以訪問身份驗證的用戶,以這些值傳遞給該函數,而不是目前的模擬數據通過電子郵件發送&密碼?

我不想在傳遞重置電子郵件中發送臨時密碼。

我在想,我可以通過類似訪問這些值:

let ref = Firebase(url: firebaseURL) 

ref.authData.providerData.someValueHere 

但我一直沒能弄明白。

如何從當前認證的用戶訪問這些值?

回答

2

如何訪問身份驗證的用戶的電子郵件密碼&

火力地堡不會存儲用戶的密碼。相反,它會存儲用戶密碼的散列。這意味着Firebase沒有返回用戶密碼的API。

+0

那麼我該如何利用changePasswordForUser?這似乎需要一個電子郵件,舊密碼和新密碼作爲參數? – 121c

+0

'changePasswordForUser()'是讓用戶在您的應用程序中更改其密碼。如果用戶忘記了自己的密碼,則需要使用'resetPasswordForUser()',它會發送密碼重置電子郵件。目前沒有API可以在不知道當前密碼或發送電子郵件的情況下更改/重置密碼。 –

+0

好的。得到它了。謝謝。 – 121c

相關問題