我正在试用新的Firebase IOS SDK,其中包含Firebase身份验证和我的自定义后端服务器。我已经在Firebase中启用了用户名密码身份验证,它工作正常,但我在身份验证对象上看不到任何属性,该属性为我提供了JWT令牌,以便我可以验证自定义后端服务器上的请求
FIRAuth.auth()?.createUserWithEmail(singupusername.text!, password: singuppassword.text!) { (user, error) in
print(user)
print(error)
}
用户没有任何属性可以给我 Firebase JWT 令牌
我想出了在最新的SDK中获取访问令牌的方法,我使用以下方法来获取最新的令牌
FIRAuth.auth()?.addAuthStateDidChangeListener { auth, user in
if let user = user{
user.getTokenWithCompletion{
(data) in
print(data.0)
}
}
}
最新的代码应该是
let currentUser = Auth.auth().currentUser
currentUser?.getIDTokenForcingRefresh(true) { idToken, error in
if let error = error {
// Handle error
return;
}
// Send token to your backend via HTTPS
// ...
print("JWT is< (idToken)>")
}