小编Ric*_*son的帖子

如何刷新 Firebase 会话 Cookie

我正在开发一个使用 Node.js/Express.js 作为后端的 Web 应用程序,我使用 Firebase 进行用户身份验证,以及管理用户注册等,我使用 Firebase Admin SDK。

当用户想要登录时,我使用 Firebase Client SDK 登录他,如下所示:

// Handling User SignIn
$('#signin').on('click', function(e){
    e.preventDefault();

    let form = $('#signin-form'),
        email = form.find('#email').val(),
        pass = form.find('#password').val(),
        errorWrapper = form.find('.error-wrapper');

    if(email && pass){
        firebase.auth().signInWithEmailAndPassword(email, pass)
            .catch(err => {
                showError(errorWrapper, err.code)
            });
    }else {
        showError(errorWrapper, 'auth/required');
    }
});
Run Code Online (Sandbox Code Playgroud)

在此代码下方,我设置了一个观察者来观察用户何时成功登录,成功登录后我得到一个 Firebase ID 令牌,我将其发送到服务器上的端点以将其交换为具有相同声明的会话 cookie ID 令牌,因为后者在 1 小时后过期。

// POST to session login endpoint.
let postIdTokenToSessionLogin = function(url, idToken, csrfToken) {
    return $.ajax({
        type: 'POST',
        url: url, …
Run Code Online (Sandbox Code Playgroud)

javascript node.js express firebase firebase-authentication

6
推荐指数
1
解决办法
3941
查看次数