typescript 使用API在figma桌面中存储cookie

ghg1uchk  于 2023-02-05  发布在  TypeScript
关注(0)|答案(1)|浏览(120)

我正在使用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");
    }
}
wfveoks0

wfveoks01#

  • 问题是Cookie存储在浏览器中,而不是桌面应用程序中。*

Node.js服务器负责创建cookie并将其传输到客户端,但未能将其存储在Figma桌面应用程序中,因为这是一个非常规的cookie存储位置-它们通常存储在Web浏览器中,而不是桌面应用程序中。
要在桌面应用中保留数据,您需要考虑多个选项,例如根据应用的规范使用数据库、本地存储甚至用户的系统文件。

相关问题