Posted by

ITEM TILE – File Size: 6.0K

Cookie manager for React Native


Cookie manager for react native.

npm versionnpm downloadsGitHub license

Looking for Maintainers

I no longer use this library and I’m looking for maintainer(s) to take full control over the development and release cycle.


yarn add react-native-cookies


Automatic (recommended)

react-native link react-native-cookies


If automatic linking does not work, you can manually link this library by following the instructions below:

  1. Open your project in Xcode, right click on Libraries and click AddFiles to "Your Project Name" Look under node_modules/react-native-cookies/ios and add RNCookieManagerIOS.xcodeproj.
  2. Add libRNCookieManagerIOS.a to `Build Phases -> Link Binary With Libraries.
  3. Clean and rebuild your project

Run react-native link to link the react-native-cookies library.

Or if you have trouble, make the following additions to the given files manually:


gradleinclude ':react-native-cookies'project(':react-native-cookies').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-cookies/android')


gradledependencies { ... compile project(':react-native-cookies')}

On top, where imports are:

javaimport com.psykar.cookiemanager.CookieManagerPackage;

Add the CookieManagerPackage class to your list of exported packages.

java@Overrideprotected List getPackages() { return Arrays.asList( new MainReactPackage(), new CookieManagerPackage() );}


“`javascriptimport CookieManager from ‘react-native-cookies’;

// set a cookie (IOS ONLY)CookieManager.set({ name: ‘myCookie’, value: ‘myValue’, domain: ‘some domain’, origin: ‘some origin’, path: ‘/’, version: ‘1’, expiration: ‘2015-05-30T12:30:00.00-05:00’}).then((res) => { console.log(‘CookieManager.set =>’, res);});

// Set cookies from a response header// This allows you to put the full string provided by a server’s Set-Cookie // response header directly into the cookie store.CookieManager.setFromResponse( ‘’, ‘user_session=abcdefg; path=/; expires=Thu, 1 Jan 2030 00:00:00 -0000; secure; HttpOnly’) .then((res) => { // res will be true or false depending on success. console.log(‘CookieManager.setFromResponse =>’, res); });

// Get cookies as a request header stringCookieManager.get(‘’) .then((res) => { console.log(‘CookieManager.get =>’, res); // => ‘user_session=abcdefg; path=/;’ });

// list cookies (IOS ONLY)CookieManager.getAll() .then((res) => { console.log(‘CookieManager.getAll =>’, res); });

// clear cookiesCookieManager.clearAll() .then((res) => { console.log(‘CookieManager.clearAll =>’, res); });

// clear a specific cookie by its name (IOS ONLY)CookieManager.clearByName(‘cookie_name’) .then((res) => { console.log(‘CookieManager.clearByName =>’, res); });


WebKit-Support (iOS only)

React Native comes with a WebView component, which uses UIWebView on iOS. Introduced in iOS 8 Apple implemented the WebKit-Support with all the performance boost.

To use this it’s required to use a special implementation of the WebView component (e.g. react-native-wkwebview).

This special implementation of the WebView component stores the cookies not in NSHTTPCookieStorage anymore. The new cookie-storage is WKHTTPCookieStore and implementes a differnt interface.

To use this CookieManager with WebKit-Support we extended the interface with the attribute useWebKit (a boolean value, default: FASLE) for the following methods:

|Method|WebKit-Support|Method-Signature||—|—|—||getAll| Yes | CookieManager.getAll(useWebKit:boolean) ||clearAll| Yes | CookieManager.clearAll(useWebKit:boolean) ||get| Yes | CookieManager.get(url:string, useWebKit:boolean) ||set| Yes | CookieManager.set(cookie:object, useWebKit:boolean) |


“`javascriptimport CookieManager from ‘react-native-cookies’;

const useWebKit = true;

// list cookies (IOS ONLY)CookieManager.getAll(useWebKit) .then((res) => { console.log(‘CookieManager.getAll from webkit-view =>’, res); });

// clear cookiesCookieManager.clearAll(useWebKit) .then((res) => { console.log(‘CookieManager.clearAll from webkit-view =>’, res); });

// Get cookies as a request header stringCookieManager.get(‘’, useWebKit) .then((res) => { console.log(‘CookieManager.get from webkit-view =>’, res); // => ‘user_session=abcdefg; path=/;’ });

// set a cookie (IOS ONLY)const newCookie: = { name: ‘myCookie’, value: ‘myValue’, domain: ‘some domain’, origin: ‘some origin’, path: ‘/’, version: ‘1’, expiration: ‘2015-05-30T12:30:00.00-05:00’};

CookieManager.set(newCookie, useWebKit) .then((res) => { console.log(‘CookieManager.set from webkit-view =>’, res); });“`


  • Proper getAll dictionary by domain
  • Proper error handling
  • Anything else?

PR’s welcome!

To restore the repository download the bundle


and run:

 git clone joeferraro-react-native-cookies_-_2019-09-23_14-41-42.bundle 

Uploader: joeferraro
Upload date: 2019-09-23