Socket
Socket
Sign inDemoInstall

react-native-keychain

Package Overview
Dependencies
205
Maintainers
1
Versions
46
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 0.1.1 to 0.2.0

15

Enums/Accessibility.js

@@ -8,10 +8,9 @@ /**

var KeychainAccessibilityEnum = module.exports = {
NTLM: true,
MSN: true,
DPA: true,
RPA: true,
HTTPBasic: true,
HTTPDigest: true,
HTMLForm: true,
Default: true,
whenUnlocked: true,
afterFirstUnlock: true,
always: true,
whenPasscodeSetThisDeviceOnly: true,
whenUnlockedThisDeviceOnly: true,
afterFirstUnlockThisDeviceOnly: true,
alwaysThisDeviceOnly: true,
};

@@ -59,3 +59,4 @@ /**

/**
* Deletes all keychain entries for `server` and calls `callback` with an `Error` if there is any.
* Deletes all internet password keychain entries for `server` and calls `callback` with an
* `Error` if there is any.
* Returns a `Promise` object.

@@ -79,2 +80,72 @@ */

/**
* Saves the `username` and `password` combination for `service` (defaults to `bundleId`)
* and calls `callback` with an `Error` if there is any.
* Returns a `Promise` object.
*/
setGenericPassword: function(
username: string,
password: string,
service?: string,
callback?: ?(error: ?Error) => void
): Promise {
return new Promise((resolve, reject) => {
RNKeychainManager.setGenericPasswordForService(service, username, password, function(err) {
callback && callback((err && convertError(err)) || null);
if (err) {
reject(convertError(err));
} else {
resolve();
}
});
});
},
/**
* Fetches login combination for `service` (defaults to `bundleId`) as an object with the format
* `{ username, password }` and passes the result to `callback`, along with an `Error` if
* there is any.
* Returns a `Promise` object.
*/
getGenericPassword: function(
service?: string,
callback?: ?(error: ?Error, result: ?string) => void
): Promise {
return new Promise((resolve, reject) => {
RNKeychainManager.getGenericPasswordForService(service, function(err, username, password) {
err = convertError(err);
if(!err && arguments.length === 1) {
err = new Error('No keychain entry found' + (service ? ' for service "' + service + '"' : ''));
}
callback && callback((err && convertError(err)) || null, username, password);
if (err) {
reject(convertError(err));
} else {
resolve({ username, password });
}
});
});
},
/**
* Deletes all generic password keychain entries for `service` (defaults to `bundleId`) and calls
* `callback` with an `Error` if there is any.
* Returns a `Promise` object.
*/
resetGenericPassword: function(
service?: string,
callback?: ?(error: ?Error) => void
): Promise {
return new Promise((resolve, reject) => {
RNKeychainManager.resetGenericPasswordForService(service, function(err) {
callback && callback((err && convertError(err)) || null);
if (err) {
reject(convertError(err));
} else {
resolve();
}
});
});
},
};

@@ -81,0 +152,0 @@

@@ -22,3 +22,2 @@ /**

return {
server: 'http://localhost/',
username: '',

@@ -32,9 +31,9 @@ password: '',

Keychain
.setInternetCredentials(this.state.server, this.state.username, this.state.password)
.then(function() {
.setGenericPassword(this.state.username, this.state.password)
.then(() => {
this.setState({status: 'Credentials saved!'});
}.bind(this))
.catch(function(err) {
})
.catch((err) => {
this.setState({status: 'Could not save credentials, ' + err});
}.bind(this));
});
},

@@ -44,10 +43,10 @@

Keychain
.getInternetCredentials(this.state.server)
.then(function(credentials) {
.getGenericPassword()
.then((credentials) => {
this.setState(credentials);
this.setState({status: 'Credentials loaded!'});
}.bind(this))
.catch(function(err) {
})
.catch((err) => {
this.setState({status: 'Could not load credentials. ' + err});
}.bind(this));
});
},

@@ -57,9 +56,9 @@

Keychain
.resetInternetCredentials(this.state.server)
.then(function() {
.resetGenericPassword()
.then(() => {
this.setState({status: 'Credentials Reset!', username: '', password: '' });
}.bind(this))
.catch(function(err) {
this.setState({status: 'Could not save credentials, ' + err});
}.bind(this));
})
.catch((err) => {
this.setState({status: 'Could not reset credentials, ' + err});
});
},

@@ -74,12 +73,2 @@

<View style={styles.field}>
<Text style={styles.label}>Server</Text>
<TextInput
style={styles.input}
keyboardType="url"
autoCapitalize="none"
value={this.state.server}
onChange={(event) => this.setState({ server: event.nativeEvent.text })}
/>
</View>
<View style={styles.field}>
<Text style={styles.label}>Username</Text>

@@ -130,5 +119,5 @@ <TextInput

flex: 1,
justifyContent: 'center',
alignItems: 'center',
backgroundColor: '#F5FCFF',
paddingTop: 30,
},

@@ -135,0 +124,0 @@ welcome: {

{
"name": "react-native-keychain",
"version": "0.1.1",
"version": "0.2.0",
"description": "Keychain Access for React Native",

@@ -5,0 +5,0 @@ "main": "index.ios.js",

# react-native-keychain
Keychain Access for React Native
Currently functionality is limited to just storing internet passwords. More to come...
Currently functionality is limited to just storing internet and generic passwords. Wider exposure of the underlying API coming.

@@ -20,9 +20,30 @@ ## Installation

var server = 'http://facebook.com';
var username = 'zuck';
var password = 'poniesRgr8';
// Generic Password, service argument optional
Keychain
.setGenericPassword(username, password)
.then(function() {
console.log('Credentials saved successfully!');
});
Keychain
.getGenericPassword()
.then(function(credentials) {
console.log('Credentials successfully loaded for user ' + credentials.username);
});
Keychain
.resetGenericPassword()
.then(function() {
console.log('Credentials successfully deleted');
});
// Internet Password, server argument required
var server = 'http://facebook.com';
Keychain
.setInternetCredentials(server, username, password)
.then(function() {
console.log('Credentials saved successfully!')
console.log('Credentials saved successfully!');
});

@@ -33,3 +54,3 @@

.then(function(credentials) {
console.log('Credentials successfully loaded', credentials)
console.log('Credentials successfully loaded for user ' + credentials.username);
});

@@ -39,4 +60,4 @@

.resetInternetCredentials(server)
.then(function(credentials) {
console.log('Credentials successfully deleted')
.then(function() {
console.log('Credentials successfully deleted');
});

@@ -43,0 +64,0 @@

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc