You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
"firebase.analytics().initiateOnDeviceConversionMeasurementWithHashedPhoneNumber(*) 'hashedPhoneNumber' expected a sha256-hashed value of a phone number in E.164 format.",
286
+
"firebase.analytics().initiateOnDeviceConversionMeasurementWithHashedPhoneNumber(*) 'hashedPhoneNumber' expected a 64-character SHA-256 hex string of a phone number in E.164 format, not an E.164 number.",
278
287
);
279
288
});
280
289
290
+
describe('SHA-256 hex validation for hashed on-device conversion',function(){
291
+
constvalidLower='0123456789abcdef'.repeat(4);
292
+
constvalidUpper='0123456789ABCDEF'.repeat(4);
293
+
constempty='';
294
+
constshortEven=validLower.slice(0,32);
295
+
constoddLength=validLower.slice(0,63);
296
+
consttooLong=`${validLower}aa`;
297
+
constnonHex='g'.repeat(64);
298
+
299
+
consthashedEmailHexError=
300
+
"firebase.analytics().initiateOnDeviceConversionMeasurementWithHashedEmailAddress(*) 'hashedEmailAddress' expected a 64-character SHA-256 hex string.";
301
+
consthashedPhoneHexError=
302
+
"firebase.analytics().initiateOnDeviceConversionMeasurementWithHashedPhoneNumber(*) 'hashedPhoneNumber' expected a 64-character SHA-256 hex string.";
303
+
304
+
it.each([
305
+
['empty',empty],
306
+
['short',shortEven],
307
+
['odd-length',oddLength],
308
+
['too long',tooLong],
309
+
['non-hex',nonHex],
310
+
])(
311
+
'`initiateOnDeviceConversionMeasurementWithHashedEmailAddress` rejects a %s value',
"firebase.analytics().initiateOnDeviceConversionMeasurementWithHashedPhoneNumber(*) 'hashedPhoneNumber' expected a sha256-hashed value of a phone number in E.164 format.",
925
+
"firebase.analytics().initiateOnDeviceConversionMeasurementWithHashedPhoneNumber(*) 'hashedPhoneNumber' expected a string value.",
926
926
);
927
927
}
928
928
929
-
if(!isString(hashedPhoneNumber)){
929
+
if(isE164PhoneNumber(hashedPhoneNumber)){
930
930
thrownewError(
931
-
"firebase.analytics().initiateOnDeviceConversionMeasurementWithHashedPhoneNumber(*) 'hashedPhoneNumber' expected a string value.",
931
+
"firebase.analytics().initiateOnDeviceConversionMeasurementWithHashedPhoneNumber(*) 'hashedPhoneNumber' expected a 64-character SHA-256 hex string of a phone number in E.164 format, not an E.164 number.",
0 commit comments