Query and modify a session's cookies.
Process: Main
Instances of the Cookies
class are accessed by using cookies
property of a Session
.
For example:
const { session } = require('electron') // Query all cookies. session.defaultSession.cookies.get({}) .then((cookies) => { console.log(cookies) }).catch((error) => { console.log(error) }) // Query all cookies associated with a specific url. session.defaultSession.cookies.get({ url: 'http://www.github.com' }) .then((cookies) => { console.log(cookies) }).catch((error) => { console.log(error) }) // Set a cookie with the given cookie data; // may overwrite equivalent cookies if they exist. const cookie = { url: 'http://www.github.com', name: 'dummy_name', value: 'dummy' } session.defaultSession.cookies.set(cookie) .then(() => { // success }, (error) => { console.error(error) })
The following events are available on instances of Cookies
:
event
Eventcookie
Cookie - The cookie that was changed.cause
String - The cause of the change with one of the following values:explicit
- The cookie was changed directly by a consumer's action.overwrite
- The cookie was automatically removed due to an insert operation that overwrote it.expired
- The cookie was automatically removed as it expired.evicted
- The cookie was automatically evicted during garbage collection.expired-overwrite
- The cookie was overwritten with an already-expired expiration date.removed
Boolean - true
if the cookie was removed, false
otherwise.Emitted when a cookie is changed because it was added, edited, removed, or expired.
The following methods are available on instances of Cookies
:
cookies.get(filter)
filter
Objecturl
String (optional) - Retrieves cookies which are associated with url
. Empty implies retrieving cookies of all URLs.name
String (optional) - Filters cookies by name.domain
String (optional) - Retrieves cookies whose domains match or are subdomains of domains
.path
String (optional) - Retrieves cookies whose path matches path
.secure
Boolean (optional) - Filters cookies by their Secure property.session
Boolean (optional) - Filters out session or persistent cookies.Returns Promise<Cookie[]>
- A promise which resolves an array of cookie objects.
Sends a request to get all cookies matching filter
, and resolves a promise with the response.
cookies.set(details)
details
Objecturl
String - The URL to associate the cookie with. The promise will be rejected if the URL is invalid.name
String (optional) - The name of the cookie. Empty by default if omitted.value
String (optional) - The value of the cookie. Empty by default if omitted.domain
String (optional) - The domain of the cookie; this will be normalized with a preceding dot so that it's also valid for subdomains. Empty by default if omitted.path
String (optional) - The path of the cookie. Empty by default if omitted.secure
Boolean (optional) - Whether the cookie should be marked as Secure. Defaults to false.httpOnly
Boolean (optional) - Whether the cookie should be marked as HTTP only. Defaults to false.expirationDate
Double (optional) - The expiration date of the cookie as the number of seconds since the UNIX epoch. If omitted then the cookie becomes a session cookie and will not be retained between sessions.sameSite
String (optional) - The Same Site policy to apply to this cookie. Can be unspecified
, no_restriction
, lax
or strict
. Default is no_restriction
.Returns Promise<void>
- A promise which resolves when the cookie has been set
Sets a cookie with details
.
cookies.remove(url, name)
url
String - The URL associated with the cookie.name
String - The name of cookie to remove.Returns Promise<void>
- A promise which resolves when the cookie has been removed
Removes the cookies matching url
and name
cookies.flushStore()
Returns Promise<void>
- A promise which resolves when the cookie store has been flushed
Writes any unwritten cookies data to disk.
© GitHub Inc.
Licensed under the MIT license.
https://www.electronjs.org/docs/api/cookies