メインコンテンツへ飛ぶ

クラス: Cookies

クラス: Cookies

セッションのクッキーをクエリーしたり、変更したりします。

プロセス: メイン
このクラスは 'electron' モジュールからはエクスポートされません。 Electron API では、他のメソッドの戻り値としてのみ利用できます。

Cookies クラスのインスタンスには、Sessioncookies プロパティを使用してアクセスします。

以下がその例です。

const { session } = require('electron')

// すべてのクッキーをクエリーします。
session.defaultSession.cookies.get({})
.then((cookies) => {
console.log(cookies)
}).catch((error) => {
console.log(error)
})

// 特定のurlに関連した全てのクッキーを問い合わせ
session.defaultSession.cookies.get({ url: 'https://www.github.com' })
.then((cookies) => {
console.log(cookies)
}).catch((error) => {
console.log(error)
})

// 与えられたクッキーデータでクッキーをセット
// 同等なクッキーが存在していた場合、それを上書きすることあり
const cookie = { url: 'https://www.github.com', name: 'dummy_name', value: 'dummy' }
session.defaultSession.cookies.set(cookie)
.then(() => {
// 成功
}, (error) => {
console.error(error)
})

インスタンスイベント

Cookies のインスタンスでは、以下のイベントが利用できます。

イベント: 'changed'

戻り値:

  • event Event
  • cookie Cookie - 変更された cookie。
  • cause string - 以下のいずれかの値となる変更の原因。
    • explicit - ユーザーのアクションによってクッキーが直接変更されました。
    • overwrite - 上書きする挿入操作のため、クッキーが自動的に削除されました。
    • expired - 有効期限切れのため、クッキーが自動的に削除されました。
    • evicted - ガベージコレクション中にクッキーが自動的に破棄されました。
    • expired-overwrite - クッキーが既に期限切れの有効期限で上書きされました。
  • removed boolean - クッキーが削除された場合、true、それ以外は、false

追加されたり、編集されたり、削除されたり、有効期限が切れたりすることによってクッキーが変更されたときに発生します。

インスタンスメソッド

Cookies のインスタンスでは、以下のメソッドが利用できます。

cookies.get(filter)

  • filter Object
    • url string (任意) - url に関連付けられた Cookie を取得します。 空の場合は全ての URL の Cookie を取得します。
    • name string (任意) - 名前でクッキーをフィルタリングします。
    • domain string (任意) - クッキーのドメインと一致するか、ドメインが domains のサブドメインであるクッキーを取得します。
    • path string (任意) - クッキーのパスが path と一致するクッキーを取得します。
    • secure boolean (任意) - Secureプロパティでクッキーをフィルタリングします。
    • session boolean (任意) - セッションまたは永続的クッキーでフィルタリングします。
    • httpOnly String (任意) - httpOnly によるクッキーをフィルタリングします。

戻り値 Promise<Cookie[]> - cookie オブジェクトの配列で解決される Promise。

filter に一致するすべての cookie を取得するリクエストを送り、そのレスポンスで Promise を解決します。

cookies.set(details)

  • details Object
    • url string - クッキーに関連付けられるURL。 URL が不正な場合、 Promise は reject されます。
    • name string (任意) - Cookie の名前。 省略された場合は既定で空になります。
    • value string (任意) - Cookie の値。 省略された場合は既定で空になります。
    • domain string (任意) - Cookie のドメインです。これはサブドメインでも有効になるように最初のドットで正規化されます。 省略された場合は既定で空になります。
    • path string (optional) - Cookie のパス。 省略された場合は既定で空になります。
    • secure boolean (任意) - Cookie に Secure フラグがついているか。 Same Site=None 属性が使用されていない限り、デフォルトでは false となります。
    • httpOnly boolean (任意) - Cookie に HttpOnly フラグがついているか。 省略値は、false です。
    • expirationDate Double (任意) - UNIX時間の秒数によるCookieの有効期限。 省略した場合、クッキーはセッションクッキーになり、セッション間では保持されなくなります。
    • sameSite string (任意) - この Cookie に適用する SameSite ポリシー。 unspecifiedno_restrictionlaxstrict のいずれかにできます。 省略値は lax です。

戻り値 Promise<void> - cookie が設定されたときに解決される Promise。

cookie を details で設定します。

cookies.remove(url, name)

  • url string - クッキーに関連付けられたURL。
  • name string - 削除するクッキーの名前。

戻り値 Promise<void> - cookie が削除されたときに解決される Promise。

urlname が一致する cookie を削除します。

cookies.flushStore()

戻り値 Promise<void> - cookie ストアがフラッシュされたときに解決される Promise。

未書き込みの Cookie のデータをディスクに書き込みます。

どの方法で書き込まれた Cookie も、すぐにディスクに書き込まれるわけではなく、30 秒または 512 回の操作ごとに書き込まれます。

このメソッドを呼び出すと、Cookie が即座にディスクに書き込まれます。