簡體   English   中英

使用 nodejs 將 cookie 存儲在 figma 桌面中 api

[英]store cookie in figma desktop using nodejs api

我正在使用 typescript 創建一個 figma 插件。我正在插件中創建一個登錄模塊。 我用 nodejs 創建了 api。 我面臨的問題是我的 cookie 沒有被存儲。

我打開了 figma 桌面應用程序的控制台,但是沒有 cookie。

我們可以用 nodejs 創建 cookie 並將它們存儲在桌面應用程序中嗎?

Code for Nodejs:
app.post("/user-login", async(req,res)=>{
const {email, password} = req.body;
db.query(`select * from users where email = '${email}' and role_id='3'`, async(err,result)=>{
    if(err){
        res.json({status: false,msg:"There was an error while fetching data. Please Try again later"});
    }else{
        // console.log(result);
        if(result.length > 0){
            var resp = await bcrypt.compare(password, result[0].password);
            if(resp){
                const regtoken = jwt.sign({ id: result[0].user_id }, "943h9DH(H#R(*#HD(HD(RTH#(*Dh9th9gn498cNA(RN97BR()))))))d@ERR#R%", {
                        expiresIn: "90d",
                        // httpOnly: true
                    })
                    const cookiesOptions = {
                        expiresIn: new Date(Date.now() + "" * 24 * 60 * 60 * 1000),
                        // httpOnly: true
                    }
                    res.cookie('checklogin', regtoken, cookiesOptions);

                res.json({status: true,msg:"Login successfully"});
            }else{
                res.json({status: false,msg:"Invalid login credentials"});
            }
        }else{
            res.json({status: false,msg:"Access Denied"});
        }
    }
})
})

打api的代碼:

const PostData = async(e) => {
    e.preventDefault();

    var formdata =  new FormData();
        formdata.append('email', user.email);
        formdata.append('password', user.password);

    var data = JSON.stringify({email:user.email, password:user.password})


        const res = await axios.post("http://localhost:8000/user-login",data, {
            headers: {
                "Content-Type" : "application/json",
                "Access-Control-Allow-Origin": "*"
            }
        })

    if(res.data.status){
        setCookie('testing', 'true')
        // localStorage.setItem("islogin","true");
        console.log("login done");
    }else{
        console.log("login failed");
    }
}

問題是 cookie 存儲在瀏覽器中,而不是桌面應用程序中。

負責創建 cookie 並將其傳輸給客戶端的 Node.js 服務器未能將其存儲在 Figma 桌面應用程序中,因為它是 cookies 的非常規存儲位置 - 它們通常由 web 瀏覽器而非桌面應用程序提供。

要在桌面應用程序中保留數據,您可以考慮多種選擇,例如根據應用程序的規范使用數據庫、本地存儲,甚至用戶的系統文件。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM