This commit is contained in:
MartinBraquet
2025-10-30 11:51:56 +01:00
parent d94091ae4e
commit 314d774bde

View File

@@ -12,7 +12,7 @@ import clsx from 'clsx'
import {initTracking} from 'web/lib/service/analytics'
import WebPush from "web/lib/service/web-push";
import AndroidPush from "web/lib/service/android-push";
import {GOOGLE_CLIENT_ID} from "web/lib/firebase/users";
import {GOOGLE_CLIENT_ID, isAndroidWebView} from "web/lib/firebase/users";
// See https://nextjs.org/docs/basic-features/font-optimization#google-fonts
// and if you add a font, you must add it to tailwind config as well for it to work.
@@ -64,33 +64,39 @@ function MyApp({Component, pageProps}: AppProps<PageProps>) {
}
}, [])
window.addEventListener('oauthRedirect', async (event: any) => {
console.log('Received oauthRedirect event:', event.detail);
const url = new URL(event.detail);
useEffect(() => {
if (isAndroidWebView()) {
console.log('Registering OAuth redirect listener for Android WebView')
const code = url.searchParams.get('code');
if (!code) {
console.error('No code found in URL');
return;
window.addEventListener('oauthRedirect', async (event: any) => {
console.log('Received oauthRedirect event:', event.detail);
const url = new URL(event.detail);
const code = url.searchParams.get('code');
if (!code) {
console.error('No code found in URL');
return;
}
const codeVerifier = localStorage.getItem('pkce_verifier');
const tokenResponse = await fetch('https://oauth2.googleapis.com/token', {
method: 'POST',
headers: {'Content-Type': 'application/x-www-form-urlencoded'},
body: new URLSearchParams({
client_id: GOOGLE_CLIENT_ID,
code,
code_verifier: codeVerifier!,
redirect_uri: 'com.compassmeet:/auth',
grant_type: 'authorization_code',
}),
});
const tokens = await tokenResponse.json();
console.log('Tokens:', tokens);
});
}
const codeVerifier = localStorage.getItem('pkce_verifier');
const tokenResponse = await fetch('https://oauth2.googleapis.com/token', {
method: 'POST',
headers: { 'Content-Type': 'application/x-www-form-urlencoded' },
body: new URLSearchParams({
client_id: GOOGLE_CLIENT_ID,
code,
code_verifier: codeVerifier!,
redirect_uri: 'com.compassmeet:/auth',
grant_type: 'authorization_code',
}),
});
const tokens = await tokenResponse.json();
console.log('Tokens:', tokens);
});
}, [])
const title = 'Compass'
const description = 'The platform for intentional connections'