- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试使用 keytar.js 保存密码,由于某种原因,我在使用 keytar 中的任何功能时不断收到此错误。
有关信息:lib。已安装并且功能在那里并且存在(我使用console.log检查)并且它们与catch()一起工作得很好。
这是一些代码:
const keytar = require("keytar");
keytar
.setPassword("stoma", "user", user)
.then(() => {
console.log("User .. OK !");
})
.catch(() => {
console.log("User .. ERROR !");
ok = false;
})
keytar.setPassword("stoma", "statut", "true");
keytar.js:38 Uncaught (in promise) TypeError: keytar.setPassword is not a function
at keytar.js:38
at keytar.js:12
at new Promise (<anonymous>)
at callbackPromise (keytar.js:11)
at Object.setPassword (keytar.js:37)
at _callee$ (Login.js:52)
at tryCatch (runtime.js:62)
at Generator.invoke [as _invoke] (runtime.js:288)
at Generator.prototype.(:3000/anonymous function) [as next] (http://localhost:3000/static/js/0.chunk.js:1881:21)
at asyncGeneratorStep (asyncToGenerator.js:3)
at _next (asyncToGenerator.js:25)
at asyncToGenerator.js:32
at new Promise (<anonymous>)
at asyncToGenerator.js:21
at _validate (Login.js:48)
at validate (Login.js:48)
最佳答案
使用 Electron 时,必须通过主进程使用 keytar。从渲染过程中调用 keytar 将不起作用。
在 this question 中解决您必须执行以下操作:
在 main.js
文件中,您必须使用所需的 keytar 逻辑定义要调用的监听器。在这种情况下,获取和设置密码
ipcMain.on('get-password', (event, user) => {
event.returnValue = keytar.getPassword('ServiceName', user);
});
ipcMain.on('set-password', (event, user, pass) => {
event.returnValue = keytar.replacePassword('ServiceName', user, pass);
});
然后从渲染器进程中,您可以调用
const password = ipcRenderer.sendSync('get-password', user);
或者
ipcRenderer.sendSync('set-password', user, pass);
ipcMain 文档:
here . ipcRenderer 文档:
here
关于javascript - 未处理的拒绝 (TypeError) : keytar. setPassword 不是函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56565138/
我正在尝试使用 keytar.js 保存密码,由于某种原因,我在使用 keytar 中的任何功能时不断收到此错误。 有关信息:lib。已安装并且功能在那里并且存在(我使用console.log检查)并
我正在使用 electron-builder (16.6.2) 打包我的 Electron 应用程序,其中包括 keytar (3.0.2) 作为产品依赖项。 package.json 文件包括: "
我试图在我的 Electron 项目中使用keytar,但是出现了以下错误: TypeError: keytar.addPassword is not a function 我看到了docs,但似乎a
我一直收到这个错误: error in ./node_modules/keytar/build/Release/keytar.node Module parse failed: Unexpecte
我在获取 Keytar 时遇到了一些问题在 Electron Forge v6 项目 (beta.54) 中工作的包。 在新生成的项目中,我在运行应用程序时收到有关“文件太短”的错误。以下是源自主进程
我是一名优秀的程序员,十分优秀!