提问者:小点点

如何获取FirebaseJWT令牌以在最新FirebaseIOS的服务器端进行验证SDK


我正在尝试新的FirebaseIOSSDKFirebase base身份验证和我的自定义后端服务器。我已经在Firebase中启用了用户名密码身份验证,它工作得很好,但是我在auth对象上看不到任何属性,它给了我JWT令牌,这样我就可以在我的自定义后端服务器上验证请求

FIRAuth.auth()?.createUserWithEmail(singupusername.text!, password: singuppassword.text!) { (user, error) in
            print(user)
            print(error)
        }

用户没有任何属性给我FirebaseJWT令牌


共2个答案

匿名用户

我想出了在最新的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)>")
            
}