
Security News
PyPI Expands Trusted Publishing to GitLab Self-Managed as Adoption Passes 25 Percent
PyPI adds Trusted Publishing support for GitLab Self-Managed as adoption reaches 25% of uploads
@magiclab/react-native-cookies
Advanced tools
Cookie manager for react native.
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
react-native link react-native-cookies
If automatic linking does not work, you can manually link this library by following the instructions below:
Libraries and click Add Files to "Your Project Name" Look under node_modules/react-native-cookies/ios and add RNCookieManagerIOS.xcodeproj.libRNCookieManagerIOS.a to Build Phases -> Link Binary With Libraries.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:
android/settings.gradle
include ':react-native-cookies'
project(':react-native-cookies').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-cookies/android')
android/app/build.gradle
dependencies {
...
implementation project(':react-native-cookies')
}
MainApplication.java
On top, where imports are:
import com.psykar.cookiemanager.CookieManagerPackage;
Add the CookieManagerPackage class to your list of exported packages.
@Override
protected List<ReactPackage> getPackages() {
return Arrays.asList(
new MainReactPackage(),
new CookieManagerPackage()
);
}
import 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(
'http://example.com',
'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 string
CookieManager.get('http://example.com')
.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 cookies
CookieManager.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);
});
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) |
import 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 cookies
CookieManager.clearAll(useWebKit)
.then((res) => {
console.log('CookieManager.clearAll from webkit-view =>', res);
});
// Get cookies as a request header string
CookieManager.get('http://example.com', 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);
});
getAll dictionary by domainPR's welcome!
FAQs
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
PyPI adds Trusted Publishing support for GitLab Self-Managed as adoption reaches 25% of uploads

Research
/Security News
A malicious Chrome extension posing as an Ethereum wallet steals seed phrases by encoding them into Sui transactions, enabling full wallet takeover.

Security News
Socket is heading to London! Stop by our booth or schedule a meeting to see what we've been working on.