/cordova-cookie-master

Cordova plugin for WebView cookie management

Primary LanguageJavaMIT LicenseMIT

Cookie Master

As you may already know, WebViews on Android and iOS platforms do not support regular use of document.cookie for managing the cookies in your app. This plugin allows you to get and set cookie values from your WebView through a simple interface.

Supported Platforms

  • Android
  • iOS

Installing

Install with Cordova CLI

$ cordova plugin add https://github.com/schoettler/cordova-cookie-master

Usage

Get cookies

Gets all cookies from a given domain, returns a JSON object with each cookie as an attribute:

{
    cookie1: value1,
    cookie2: value2
}
cookieMaster.getCookies('http://<some host>:<some port>', function(data) {
  console.log(data); //JSON Object
}, function(error) {
  if (error) {
    console.log('error: ' + error);
  }
});

Set cookies

Sets cookies contained in a JSON object with each cookie as an attribute as shown before:

{
    cookie1: value1,
    cookie2: value2
}
cookieMaster.setCookies('http://<some host>:<some port>', jsonCookies, function() {
  console.log('Cookies set');
}, function(error) {
  if (error) {
    console.log('error: ' + error);
  }
});

Get cookie value

Gets a string for a specific domain cookie:

cookieMaster.getCookieValue('http://<some host>:<some port>', '<cookie name>', function(data) {
  console.log(data.cookieValue);
}, function(error) {
  if (error) {
    console.log('error: ' + error);
  }
});

Set cookie value

cookieMaster.setCookieValue('http://<some host>:<some port>', '<cookie name>', '<cookie value>',
    function() {
        console.log('A cookie has been set');
    },
    function(error) {
        console.log('Error setting cookie: '+error);
    });

The cookie value should be formatted just like a regular document.cookie value.

Clear all cookies

cookieMaster.clearCookies(
    function() {
    console.log('Cookies have been cleared');
    },
    function() {
        console.log('Cookies could not be cleared');
    });

Limitations

  • This version has been tested on Android 4.4 ~ 5.1 devices, iOS 7.1 ~ 9 devices. Experience may vary for different OS versions.

License

This plugin is distributed under the MIT License.

Thanks to

This plugin was inspired by the great work on the CookieMonster plugin by @barrettc