Appwrite Google auth not working in production React Native APK built with EAS
- 0
- React Native
- Cloud
I tried creating an apk with EAS the apk built successfully i have also set all the environment vars in EAS project dashboard, and set the in the 'app.json', the problem is whenever i try to login with Google i get this 400 ERROR message in browser, i had re-check every credentials its working fine in development with expo go.
it works well in developement and i think the issue relies in the implementation, here i found a source -> https://bishwajeet-parhi.medium.com/i-built-an-auth-template-powered-by-react-native-and-appwrite-4a0b7ee90ba6
i have tried the solution from above blog and re implemented login function
export async function login() {
try {
let redirectScheme = makeRedirectUri({ preferLocalhost: true, isTripleSlashed: false });
//HACK: localhost is a hack to get the redirection possible
if (process.env.EXPO_PUBLIC_DEV_MODE !== 'true' && !redirectScheme.includes('localhost')) {
redirectScheme = `${redirectScheme}localhost/`;
}
//const redirectUri = Linking.createURL('/', { scheme: redirectScheme });
const responseURL = account.createOAuth2Token(
OAuthProvider.Google,
redirectScheme
);
if (!responseURL) throw new Error("Create OAuth2 token failed");
// console.log({responseURL});
const browserResult = await openAuthSessionAsync(
responseURL.href,
redirectScheme
);
// console.log({browserResult});
if (browserResult.type !== "success")
throw new Error("Create OAuth2 token failed");
const url = new URL(browserResult.url);
const secret = url.searchParams.get("secret")?.toString();
const userId = url.searchParams.get("userId")?.toString();
if (!secret || !userId) throw new Error("Create OAuth2 token failed");
const session = await account.createSession(userId, secret);
if (!session) throw new Error("Failed to create session");
return true;
} catch (error) {
console.error(error);
return false;
}
}
the previous error hasbeen solved the google account shows finally BUT there is new error! if i tab Go Back the app works normally
NB: i have also tried with out / the result is same
//HACK: localhost is a hack to get the redirection possible
if (process.env.EXPO_PUBLIC_DEV_MODE !== 'true' && !redirectScheme.includes('localhost')) {
redirectScheme = `${redirectScheme}localhost`;
}
Recommended threads
- Framework categorization for Sites
Hello, I want to deploy my web app via Appwrite SItes. My web app is vite+reactjs. In the Appwrite docs, it creates a vite+react app, and chooses React from the...
- [SOLVED] Appwrite 25.1.0 returns Invalid...
I've already opened an issue on GitHub, but somewhat it doesn't seem like GitHub is monitored very closely, so I'm leaving a bug report here on Discord as well....
- Helping in unblock my account
I deleted my Appwrite Cloud account that was linked via GitHub. Now I activated my GitHub Student Pack and want to sign up again using the same GitHub account, ...