0
我在电子桌面应用程序中使用oauth(堆栈溢出),并且存在加载oauth url的webview。我在我的应用程序中有一个注销按钮,它将从Stack Overflow网站以及应用程序中注销用户。我怎样才能做到这一点 ?删除Electron桌面应用程序中的所有Cookie
如何从电子应用程序的webview中删除所有会话cookie?
我在电子桌面应用程序中使用oauth(堆栈溢出),并且存在加载oauth url的webview。我在我的应用程序中有一个注销按钮,它将从Stack Overflow网站以及应用程序中注销用户。我怎样才能做到这一点 ?删除Electron桌面应用程序中的所有Cookie
如何从电子应用程序的webview中删除所有会话cookie?
可以使用电子的cookies.remove()
功能(https://electron.atom.io/docs/api/cookies/#cookiesremoveurl-name-callback)
诀窍是cookie.domain
转化为url
删除的cookie。
import { session } from 'electron';
export default function deleteAllCookies() {
session.defaultSession.cookies.get({}, (error, cookies) => {
cookies.forEach((cookie) => {
let url = '';
// get prefix, like https://www.
url += cookie.secure ? 'https://' : 'http://';
url += cookie.domain.charAt(0) === '.' ? 'www' : '';
// append domain and path
url += cookie.domain;
url += cookie.path;
session.defaultSession.cookies.remove(url, cookie.name, (error) => {
if (error) console.log(`error removing cookie ${cookie.name}`, error);
});
});
});
}