UNPKG

@passageidentity/passage-react-native

Version:

Passkey Complete for React Native - Go completely passwordless with a standalone auth solution in your React Native app with Passage by 1Password

33 lines (32 loc) 1.5 kB
"use strict"; import { withEntitlementsPlist } from '@expo/config-plugins'; const modifyIOSEntitlementsPlist = configuration => { console.log('Passage: Checking iOS Entitlements for required associated domains.'); const associatedDomain = process.env.ASSOCIATED_DOMAIN; if (!associatedDomain) { console.error('Passage: ASSOCIATED_DOMAIN is not defined in your .env. This is required for Passage.'); return configuration; } return withEntitlementsPlist(configuration, config => { const webCredEntitlement = `webcredentials:${associatedDomain}`; const appLinksEntitlement = `applinks:${associatedDomain}`; const key = 'com.apple.developer.associated-domains'; // Get existing associated domains or initialize an empty array const domains = config.modResults[key] || []; // Add the new domains if they are not already present if (!domains.includes(webCredEntitlement)) { console.log(`Passage: Adding web credential entitlement: ${webCredEntitlement}`); domains.push(webCredEntitlement); } if (!domains.includes(appLinksEntitlement)) { console.log(`Passage: Adding app link entitlement: ${appLinksEntitlement}`); domains.push(appLinksEntitlement); } // Update the plist with the new domains config.modResults[key] = domains; console.log('Passage: iOS Entitlements check complete.'); return config; }); }; export default modifyIOSEntitlementsPlist; //# sourceMappingURL=modifyIOSEntitlementsPlist.js.map