forked from oblador/react-native-keychain
-
Notifications
You must be signed in to change notification settings - Fork 0
/
index.ios.js
112 lines (104 loc) · 3.88 KB
/
index.ios.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
import { NativeModules, Platform } from 'react-native';
const { RNKeychainManager } = NativeModules;
/**
* Saves the `username` and `password` combination for `server`.
* @param {string} server URL to server.
* @param {string} accessGroup Group name for keychain sharing.
* @param {string} username Associated username or e-mail to be saved.
* @param {string} password Associated password to be saved.
* @return {Promise} Resolves to `true` when successful
*/
export function setInternetCredentials(
server: string,
username: string,
password: string,
accessGroup?: string
): Promise {
return RNKeychainManager.setInternetCredentialsForServer(server, accessGroup, username, password);
}
/**
* Fetches login combination for `server`.
* @param {string} server URL to server.
* @param {string} accessGroup Group name for keychain sharing.
* @return {Promise} Resolves to `{ server, username, password }` when successful
*/
export function getInternetCredentials(
server: string,
accessGroup?: string
): Promise {
return RNKeychainManager.getInternetCredentialsForServer(server, accessGroup);
}
/**
* Deletes all internet password keychain entries for `server`.
* @param {string} server URL to server.
* @param {string} accessGroup Group name for keychain sharing.
* @return {Promise} Resolves to `true` when successful
*/
export function resetInternetCredentials(
server: string,
accessGroup?: string
): Promise {
return RNKeychainManager.resetInternetCredentialsForServer(server, accessGroup);
}
/**
* Saves the `username` and `password` combination for `service`.
* @param {string} username Associated username or e-mail to be saved.
* @param {string} password Associated password to be saved.
* @param {string} service Reverse domain name qualifier for the service, defaults to `bundleId`.
* @param {string} accessGroup Group name for keychain sharing.
* @return {Promise} Resolves to `true` when successful
*/
export function setGenericPassword(
username: string,
password: string,
service?: string,
accessGroup?: string
): Promise {
return RNKeychainManager.setGenericPasswordForService(service, accessGroup, username, password);
}
/**
* Fetches login combination for `service`.
* @param {string} service Reverse domain name qualifier for the service, defaults to `bundleId`.
* @param {string} accessGroup Group name for keychain sharing.
* @return {Promise} Resolves to `{ service, username, password }` when successful
*/
export function getGenericPassword(
service?: string,
accessGroup?: string
): Promise {
return RNKeychainManager.getGenericPasswordForService(service, accessGroup);
}
/**
* Deletes all generic password keychain entries for `service`.
* @param {string} service Reverse domain name qualifier for the service, defaults to `bundleId`.
* @param {string} accessGroup Group name for keychain sharing.
* @return {Promise} Resolves to `true` when successful
*/
export function resetGenericPassword(
service?: string,
accessGroup?: string
): Promise {
return RNKeychainManager.resetGenericPasswordForService(service, accessGroup);
}
/**
* Asks the user for a shared web credential.
* @return {Promise} Resolves to `{ server, username, password }` if approved and
* `false` if denied and throws an error if not supported on platform or there's no shared credentials
*/
export function requestSharedWebCredentials() : Promise {
return RNKeychainManager.requestSharedWebCredentials();
}
/**
* Sets a shared web credential.
* @param {string} server URL to server.
* @param {string} username Associated username or e-mail to be saved.
* @param {string} password Associated password to be saved.
* @return {Promise} Resolves to `true` when successful
*/
export function setSharedWebCredentials(
server: string,
username: string,
password: string
) : Promise {
return RNKeychainManager.setSharedWebCredentialsForServer(server, username, password);
}