Lio*_*eld 2 javascript firebase firebase-authentication
我正在尝试为使用Firebase的网络应用创建"记住我"功能.
我的目标是当用户点击"记住我"并成功登录时,他们的身份验证令牌将使用localStorage存储,并且他们会在下次访问时自动登录(我更喜欢将其原始凭据存储在localStorage中以用于安全目的).
但是,当我试图打电话时,firebase.auth().createCustomToken
我得到一个错误,说它不存在.这是错误的方法还是错误的函数调用firebase?谢谢!
以下是我的代码示例:
var customToken = firebase.auth().createCustomToken(user.uid);
localStorage.setItem("savedToken", customToken);
Run Code Online (Sandbox Code Playgroud)
然后我打算用这条线重新登录:
firebase.auth().signInWithCustomToken(localStorage.getItem("savedToken")).then(function() {
Run Code Online (Sandbox Code Playgroud)
firebase.auth().createCustomToken
仅在服务器API中可用.
要使用电子邮件和密码进行身份验证并获取会话令牌,请尝试以下操作:
firebase.auth().signInWithEmailAndPassword(email, password)
.then(function(user) {
user.getToken().then(function(token) {
localStorage.setItem("savedToken", token); // store the token
});
})
.catch(function(error) {
// handle error...
});
Run Code Online (Sandbox Code Playgroud)
这也适用于其他身份验证方法; 只是用User.getToken
.稍后,如果您有令牌(仍在客户端上),并且您想要使用它进行身份验证,那么只需执行您当前正在执行的操作:
var token = localStorage.getItem("savedToken"); // get stored token
firebase.auth().signInWithCustomToken(token).catch(function(error) {
// handle error...
});
Run Code Online (Sandbox Code Playgroud)
上面的代码不起作用,因为signInWithCustomToken
只适用于您的服务器铸造的令牌createCustomToken
.我不确定如何使用电子邮件/密码令牌进行身份验证.
归档时间: |
|
查看次数: |
1548 次 |
最近记录: |