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
- Appwrite project paused
I have github student account. The auth has been paused however the database is working fine. I cant see any option to resume from my console panel. It is just ...
- Missing Invoice
Hi! I need help with billing on my account (marelu@gmail.com). I have never received a single invoice by email. My organization has been on the Pro plan since...
- Appwrite Functions cold start
Hello. I'm seeing really long cold starts on Appwrite Cloud Functions and wanted to know if this is expected. My function just authenticates the user, fetches ...