@bifold/react-native-attestation 2.11.2 → 2.11.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +5 -0
- package/build/commonjs/NativeAttestation.js.map +1 -1
- package/build/commonjs/index.js +8 -1
- package/build/commonjs/index.js.map +1 -1
- package/build/module/NativeAttestation.js.map +1 -1
- package/build/module/index.js +6 -0
- package/build/module/index.js.map +1 -1
- package/build/typescript/NativeAttestation.d.ts +1 -0
- package/build/typescript/NativeAttestation.d.ts.map +1 -1
- package/build/typescript/index.d.ts +1 -0
- package/build/typescript/index.d.ts.map +1 -1
- package/ios/Attestation.mm +20 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -14,14 +14,19 @@ yarn add @bifold/react-native-attestation
|
|
|
14
14
|
import {
|
|
15
15
|
generateKey,
|
|
16
16
|
appleAttestation,
|
|
17
|
+
getAppStoreReceipt,
|
|
17
18
|
isPlayIntegrityAvailable,
|
|
18
19
|
googleAttestation,
|
|
19
20
|
} from '@bifold/react-native-attestation';
|
|
20
21
|
|
|
21
22
|
// ...
|
|
22
23
|
if (Platform.OS === 'ios') {
|
|
24
|
+
// Modern DeviceCheck attestation
|
|
23
25
|
const keyId = await generateKey();
|
|
24
26
|
const attestationAsBuffer = await appleAttestation(keyId, nonce);
|
|
27
|
+
|
|
28
|
+
// Legacy App Store receipt (for compatibility)
|
|
29
|
+
const appStoreReceipt = await getAppStoreReceipt();
|
|
25
30
|
} else if (Platform.OS === 'android') {
|
|
26
31
|
const available = await isPlayIntegrityAvailable();
|
|
27
32
|
if (available) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNative","require","_default","exports","default","TurboModuleRegistry","getEnforcing"],"sourceRoot":"../../src","sources":["NativeAttestation.ts"],"mappings":";;;;;;AACA,IAAAA,YAAA,GAAAC,OAAA;AAAmD,IAAAC,QAAA,GAAAC,OAAA,CAAAC,OAAA,
|
|
1
|
+
{"version":3,"names":["_reactNative","require","_default","exports","default","TurboModuleRegistry","getEnforcing"],"sourceRoot":"../../src","sources":["NativeAttestation.ts"],"mappings":";;;;;;AACA,IAAAA,YAAA,GAAAC,OAAA;AAAmD,IAAAC,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAYpCC,gCAAmB,CAACC,YAAY,CAAO,aAAa,CAAC","ignoreList":[]}
|
package/build/commonjs/index.js
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.sha256 = exports.isPlayIntegrityAvailable = exports.googleAttestation = exports.generateKey = exports.appleKeyAttestation = exports.appleAttestation = void 0;
|
|
6
|
+
exports.sha256 = exports.isPlayIntegrityAvailable = exports.googleAttestation = exports.getAppStoreReceipt = exports.generateKey = exports.appleKeyAttestation = exports.appleAttestation = void 0;
|
|
7
7
|
var _reactNative = require("react-native");
|
|
8
8
|
var _buffer = require("buffer");
|
|
9
9
|
var _NativeAttestation = _interopRequireDefault(require("./NativeAttestation"));
|
|
@@ -69,4 +69,11 @@ const isPlayIntegrityAvailable = async () => {
|
|
|
69
69
|
return Attestation.isPlayIntegrityAvailable();
|
|
70
70
|
};
|
|
71
71
|
exports.isPlayIntegrityAvailable = isPlayIntegrityAvailable;
|
|
72
|
+
const getAppStoreReceipt = async () => {
|
|
73
|
+
if (_reactNative.Platform.OS !== 'ios') {
|
|
74
|
+
throw new Error('getAppStoreReceipt is only available on iOS');
|
|
75
|
+
}
|
|
76
|
+
return await Attestation.getAppStoreReceipt();
|
|
77
|
+
};
|
|
78
|
+
exports.getAppStoreReceipt = getAppStoreReceipt;
|
|
72
79
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNative","require","_buffer","_NativeAttestation","_interopRequireDefault","e","__esModule","default","LINKING_ERROR","Platform","select","ios","isTurboModuleEnabled","global","__turboModuleProxy","AttestationModule","NativeAttestationSpec","NativeModules","Attestation","Proxy","get","Error","sha256","stringToHash","OS","bytes","Buffer","from","exports","generateKey","cache","appleKeyAttestation","keyId","challenge","appleAttestation","googleAttestation","nonce","token","isPlayIntegrityAvailable"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_reactNative","require","_buffer","_NativeAttestation","_interopRequireDefault","e","__esModule","default","LINKING_ERROR","Platform","select","ios","isTurboModuleEnabled","global","__turboModuleProxy","AttestationModule","NativeAttestationSpec","NativeModules","Attestation","Proxy","get","Error","sha256","stringToHash","OS","bytes","Buffer","from","exports","generateKey","cache","appleKeyAttestation","keyId","challenge","appleAttestation","googleAttestation","nonce","token","isPlayIntegrityAvailable","getAppStoreReceipt"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["TurboModuleRegistry","getEnforcing"],"sourceRoot":"../../src","sources":["NativeAttestation.ts"],"mappings":"AACA,SAASA,mBAAmB,QAAQ,cAAc;
|
|
1
|
+
{"version":3,"names":["TurboModuleRegistry","getEnforcing"],"sourceRoot":"../../src","sources":["NativeAttestation.ts"],"mappings":"AACA,SAASA,mBAAmB,QAAQ,cAAc;AAYlD,eAAeA,mBAAmB,CAACC,YAAY,CAAO,aAAa,CAAC","ignoreList":[]}
|
package/build/module/index.js
CHANGED
|
@@ -56,4 +56,10 @@ export const isPlayIntegrityAvailable = async () => {
|
|
|
56
56
|
}
|
|
57
57
|
return Attestation.isPlayIntegrityAvailable();
|
|
58
58
|
};
|
|
59
|
+
export const getAppStoreReceipt = async () => {
|
|
60
|
+
if (Platform.OS !== 'ios') {
|
|
61
|
+
throw new Error('getAppStoreReceipt is only available on iOS');
|
|
62
|
+
}
|
|
63
|
+
return await Attestation.getAppStoreReceipt();
|
|
64
|
+
};
|
|
59
65
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["NativeModules","Platform","Buffer","NativeAttestationSpec","LINKING_ERROR","select","ios","default","isTurboModuleEnabled","global","__turboModuleProxy","AttestationModule","Attestation","Proxy","get","Error","sha256","stringToHash","OS","bytes","from","generateKey","cache","appleKeyAttestation","keyId","challenge","appleAttestation","googleAttestation","nonce","token","isPlayIntegrityAvailable"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"AAAA,SAASA,aAAa,EAAEC,QAAQ,QAAQ,cAAc;AACtD,SAASC,MAAM,QAAQ,QAAQ;AAE/B,OAAOC,qBAAqB,MAAM,qBAAqB;AAEvD,MAAMC,aAAa,GACjB,mFAAmF,GACnFH,QAAQ,CAACI,MAAM,CAAC;EAAEC,GAAG,EAAE,gCAAgC;EAAEC,OAAO,EAAE;AAAG,CAAC,CAAC,GACvE,sDAAsD,GACtD,+BAA+B;;AAEjC;AACA,MAAMC,oBAAoB,GAAGC,MAAM,CAACC,kBAAkB,IAAI,IAAI;AAE9D,MAAMC,iBAAiB,GAAGH,oBAAoB,GAC1CL,qBAAqB,GACrBH,aAAa,CAACY,WAAW;AAE7B,MAAMA,WAAW,GAAGD,iBAAiB,GACjCA,iBAAiB,GACjB,IAAIE,KAAK,CACP,CAAC,CAAC,EACF;EACEC,GAAGA,CAAA,EAAG;IACJ,MAAM,IAAIC,KAAK,CAACX,aAAa,CAAC;EAChC;AACF,CACF,CAAC;;AAEL;AACA,OAAO,MAAMY,MAAM,GAAG,MAAOC,YAAoB,IAAsB;EACrE,IAAIhB,QAAQ,CAACiB,EAAE,KAAK,KAAK,EAAE;IACzB,MAAM,IAAIH,KAAK,CAAC,iCAAiC,CAAC;EACpD;EAEA,MAAMI,KAAiB,GAAG,MAAMP,WAAW,CAACI,MAAM,CAACC,YAAY,CAAC;EAChE,OAAOf,MAAM,CAACkB,IAAI,CAACD,KAAK,CAAC;AAC3B,CAAC;AAED,OAAO,MAAME,WAAW,GAAG,MAAAA,CAAOC,KAAc,GAAG,KAAK,KAAsB;EAC5E,IAAIrB,QAAQ,CAACiB,EAAE,KAAK,KAAK,EAAE;IACzB,MAAM,IAAIH,KAAK,CAAC,sCAAsC,CAAC;EACzD;EAEA,OAAOH,WAAW,CAACS,WAAW,CAACC,KAAK,CAAC;AACvC,CAAC;AAED,OAAO,MAAMC,mBAAmB,GAAG,MAAAA,CACjCC,KAAa,EACbC,SAAiB,KACG;EACpB,IAAIxB,QAAQ,CAACiB,EAAE,KAAK,KAAK,EAAE;IACzB,MAAM,IAAIH,KAAK,CAAC,8CAA8C,CAAC;EACjE;EAEA,MAAMI,KAAiB,GAAG,MAAMP,WAAW,CAACW,mBAAmB,CAC7DC,KAAK,EACLC,SACF,CAAC;EAED,OAAOvB,MAAM,CAACkB,IAAI,CAACD,KAAK,CAAC;AAC3B,CAAC;AAED,OAAO,MAAMO,gBAAgB,GAAG,MAAAA,CAC9BF,KAAa,EACbC,SAAiB,KACG;EACpB,IAAIxB,QAAQ,CAACiB,EAAE,KAAK,KAAK,EAAE;IACzB,MAAM,IAAIH,KAAK,CAAC,2CAA2C,CAAC;EAC9D;EAEA,MAAMI,KAAiB,GAAG,MAAMP,WAAW,CAACc,gBAAgB,CAC1DF,KAAK,EACLC,SACF,CAAC;EAED,OAAOvB,MAAM,CAACkB,IAAI,CAACD,KAAK,CAAC;AAC3B,CAAC;AAED,OAAO,MAAMQ,iBAAiB,GAAG,MAAOC,KAAa,IAAsB;EACzE,IAAI3B,QAAQ,CAACiB,EAAE,KAAK,SAAS,EAAE;IAC7B,MAAM,IAAIH,KAAK,CAAC,gDAAgD,CAAC;EACnE;EAEA,MAAMc,KAAa,GAAG,MAAMjB,WAAW,CAACe,iBAAiB,CAACC,KAAK,CAAC;EAChE,OAAOC,KAAK;AACd,CAAC;AAED,OAAO,MAAMC,wBAAwB,GAAG,MAAAA,CAAA,KAA8B;EACpE,IAAI7B,QAAQ,CAACiB,EAAE,KAAK,SAAS,EAAE;IAC7B,MAAM,IAAIH,KAAK,CAAC,uDAAuD,CAAC;EAC1E;EAEA,OAAOH,WAAW,CAACkB,wBAAwB,CAAC,CAAC;AAC/C,CAAC","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["NativeModules","Platform","Buffer","NativeAttestationSpec","LINKING_ERROR","select","ios","default","isTurboModuleEnabled","global","__turboModuleProxy","AttestationModule","Attestation","Proxy","get","Error","sha256","stringToHash","OS","bytes","from","generateKey","cache","appleKeyAttestation","keyId","challenge","appleAttestation","googleAttestation","nonce","token","isPlayIntegrityAvailable","getAppStoreReceipt"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -6,6 +6,7 @@ export interface Spec extends TurboModule {
|
|
|
6
6
|
appleKeyAttestation(keyId: string, challenge: string): Promise<Buffer>;
|
|
7
7
|
isPlayIntegrityAvailable(): Promise<boolean>;
|
|
8
8
|
googleAttestation(nonce: string): Promise<string>;
|
|
9
|
+
getAppStoreReceipt(): Promise<string | null>;
|
|
9
10
|
}
|
|
10
11
|
declare const _default: Spec;
|
|
11
12
|
export default _default;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NativeAttestation.d.ts","sourceRoot":"","sources":["../../src/NativeAttestation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAGhD,MAAM,WAAW,IAAK,SAAQ,WAAW;IACvC,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC7C,MAAM,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC9C,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACpE,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACvE,wBAAwB,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IAC7C,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"NativeAttestation.d.ts","sourceRoot":"","sources":["../../src/NativeAttestation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAGhD,MAAM,WAAW,IAAK,SAAQ,WAAW;IACvC,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC7C,MAAM,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC9C,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACpE,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACvE,wBAAwB,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IAC7C,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAClD,kBAAkB,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;CAC9C;;AAED,wBAAqE"}
|
|
@@ -5,4 +5,5 @@ export declare const appleKeyAttestation: (keyId: string, challenge: string) =>
|
|
|
5
5
|
export declare const appleAttestation: (keyId: string, challenge: string) => Promise<Buffer>;
|
|
6
6
|
export declare const googleAttestation: (nonce: string) => Promise<string>;
|
|
7
7
|
export declare const isPlayIntegrityAvailable: () => Promise<boolean>;
|
|
8
|
+
export declare const getAppStoreReceipt: () => Promise<string | null>;
|
|
8
9
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AA6BhC,eAAO,MAAM,MAAM,iBAAwB,MAAM,KAAG,OAAO,CAAC,MAAM,CAOjE,CAAC;AAEF,eAAO,MAAM,WAAW,WAAiB,OAAO,KAAW,OAAO,CAAC,MAAM,CAMxE,CAAC;AAEF,eAAO,MAAM,mBAAmB,UACvB,MAAM,aACF,MAAM,KAChB,OAAO,CAAC,MAAM,CAWhB,CAAC;AAEF,eAAO,MAAM,gBAAgB,UACpB,MAAM,aACF,MAAM,KAChB,OAAO,CAAC,MAAM,CAWhB,CAAC;AAEF,eAAO,MAAM,iBAAiB,UAAiB,MAAM,KAAG,OAAO,CAAC,MAAM,CAOrE,CAAC;AAEF,eAAO,MAAM,wBAAwB,QAAa,OAAO,CAAC,OAAO,CAMhE,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AA6BhC,eAAO,MAAM,MAAM,iBAAwB,MAAM,KAAG,OAAO,CAAC,MAAM,CAOjE,CAAC;AAEF,eAAO,MAAM,WAAW,WAAiB,OAAO,KAAW,OAAO,CAAC,MAAM,CAMxE,CAAC;AAEF,eAAO,MAAM,mBAAmB,UACvB,MAAM,aACF,MAAM,KAChB,OAAO,CAAC,MAAM,CAWhB,CAAC;AAEF,eAAO,MAAM,gBAAgB,UACpB,MAAM,aACF,MAAM,KAChB,OAAO,CAAC,MAAM,CAWhB,CAAC;AAEF,eAAO,MAAM,iBAAiB,UAAiB,MAAM,KAAG,OAAO,CAAC,MAAM,CAOrE,CAAC;AAEF,eAAO,MAAM,wBAAwB,QAAa,OAAO,CAAC,OAAO,CAMhE,CAAC;AAEF,eAAO,MAAM,kBAAkB,QAAa,OAAO,CAAC,MAAM,GAAG,IAAI,CAMhE,CAAC"}
|
package/ios/Attestation.mm
CHANGED
|
@@ -268,6 +268,26 @@ RCT_EXPORT_METHOD(appleAttestation:(NSString *)keyId
|
|
|
268
268
|
}];
|
|
269
269
|
}
|
|
270
270
|
|
|
271
|
+
RCT_EXPORT_METHOD(getAppStoreReceipt:(RCTPromiseResolveBlock)resolve
|
|
272
|
+
rejecter:(RCTPromiseRejectBlock)reject) {
|
|
273
|
+
NSURL *appStoreReceiptURL = [[NSBundle mainBundle] appStoreReceiptURL];
|
|
274
|
+
|
|
275
|
+
if (appStoreReceiptURL && [[NSFileManager defaultManager] fileExistsAtPath:[appStoreReceiptURL path]]) {
|
|
276
|
+
NSError *error;
|
|
277
|
+
NSData *receiptData = [NSData dataWithContentsOfURL:appStoreReceiptURL
|
|
278
|
+
options:NSDataReadingMappedIfSafe
|
|
279
|
+
error:&error];
|
|
280
|
+
if (receiptData && !error) {
|
|
281
|
+
NSString *receiptString = [receiptData base64EncodedStringWithOptions:0];
|
|
282
|
+
resolve(receiptString);
|
|
283
|
+
} else {
|
|
284
|
+
reject(@"receipt_error", @"Failed to read App Store receipt", error);
|
|
285
|
+
}
|
|
286
|
+
} else {
|
|
287
|
+
resolve([NSNull null]); // No receipt available
|
|
288
|
+
}
|
|
289
|
+
}
|
|
290
|
+
|
|
271
291
|
// Don't compile this code when we build for the old architecture.
|
|
272
292
|
#ifdef RCT_NEW_ARCH_ENABLED
|
|
273
293
|
- (std::shared_ptr<facebook::react::TurboModule>)getTurboModule:
|