0

我在電子桌面應用程序中使用oauth(堆棧溢出),並且存在加載oauth url的webview。我在我的應用程序中有一個註銷按鈕,它將從Stack Overflow網站以及應用程序中註銷用戶。我怎樣才能做到這一點 ?刪除Electron桌面應用程序中的所有Cookie

如何從電子應用程序的webview中刪除所有會話cookie?

回答

0

可以使用電子的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); 
     }); 
    }); 
    }); 
}