1import url from 'url'; 2 3import { websiteOrigin } from '../apiClient'; 4import { openAuthSessionAsync, getAuthSchemeAsync } from '../native-modules/DevLauncherAuth'; 5 6export async function startAuthSessionAsync(type: 'signup' | 'login') { 7 const scheme = await getAuthSchemeAsync(); 8 9 const redirectBase = `${scheme}://auth`; 10 const authSessionURL = `${websiteOrigin}/${type}?app_redirect_uri=${encodeURIComponent( 11 redirectBase 12 )}`; 13 14 const result = await openAuthSessionAsync(authSessionURL, redirectBase); 15 16 if (result.type === 'success') { 17 const { query } = url.parse(result.url, true); 18 const sessionSecret = decodeURIComponent(query['session_secret'] as string); 19 return sessionSecret; 20 } 21 22 return null; 23} 24