decord/beta/source/utils/MFAUtils.tsx
github-actions 19e52f659f chore: update source for beta 347.11
Skipped 1 file(s) >100MB (GitHub limit): source/__polyfill/04xxx/module_4973.js (118.4 MB)
2026-09-26 17:57:22 +00:00

71 lines
2.4 KiB
TypeScript

// Module ID: 7226
// Function ID: 7227
// Name: MFAUtils
// Dependencies: [1609, 7227, 1231, 2]
// Exports: captureWebAuthnException, encodeTotpSecret, encodeTotpSecretAsUrl, generateTotpSecret
// Module 7226 (MFAUtils)
import SentryUtilsDefault from "SentryUtils" /* 1231 */;
import encodeDefault from "encode" /* 7227 */;
import MetaQuestUtils from "MetaQuestUtils" /* 1609 */;
import size from "module_2" /* 2 */;
let _crypto;
if (window != null) {
_crypto = window.crypto;
}
if (_crypto == null) {
let msCrypto;
if (window != null) {
msCrypto = window.msCrypto;
}
_crypto = msCrypto;
}
let tmp5 = null != _crypto;
if (tmp5) {
tmp5 = "getRandomValues" in _crypto;
}
if (tmp5) {
tmp5 = tmp4;
}
function encodeTotpSecret(totpSecret) {
return totpSecret.replace(/[\s._-]+/g, "").toUpperCase();
}
const result = size.fileFinishedImporting("utils/MFAUtils.tsx");
export const hasCrypto = tmp5;
export const hasWebAuthn = !MetaQuestUtils.isMetaQuest();
export const generateTotpSecret = function generateTotpSecret() {
const uint8Array = new Uint8Array(20);
const randomValues = _crypto.getRandomValues(uint8Array);
const encoder = encodeDefault;
const str = encoder.encode(randomValues);
const str2 = encoder.encode(randomValues).toString("utf8");
const str3 = encoder.encode(randomValues).toString("utf8").replace(/=/g, "");
const str4 = encoder.encode(randomValues).toString("utf8").replace(/=/g, "").toLowerCase();
return encoder.encode(randomValues).toString("utf8").replace(/=/g, "").toLowerCase().replace(/(\w{4})/g, "$1 ").trim();
};
export { encodeTotpSecret };
export const encodeTotpSecretAsUrl = function encodeTotpSecretAsUrl(arg0, str) {
str = arg2;
if (arg2 === undefined) {
str = "Discord";
}
const encodeURIResult = encodeURI(str);
const encodeURIResult1 = encodeURI(arg0);
const formatted = str.replace(/[\s._-]+/g, "").toUpperCase();
return "otpauth://totp/" + encodeURIResult + ":" + encodeURIResult1 + "?secret=" + formatted + "&issuer=" + encodeURIComponent(str);
};
export const captureWebAuthnException = function captureWebAuthnException(error, tags) {
const obj2 = {};
const merged = Object.assign(tags);
tags = undefined;
if (tags != null) {
tags = tags.tags;
}
const obj3 = {};
const merged1 = Object.assign(tags);
obj3.app_context = "webauthn";
obj2.tags = obj3;
SentryUtilsDefault.captureException(error, obj2);
};