
I am trying to do OAuth after watching a tutorial on YT, the difference being the tutorial uses Expo Go and I am using a dev build. When trying to login, I create a linking url to my index screen with Linking.createURL('/')
, which returns app-scheme:///
. When trying to open the browser to login with Google, I get an error 400:
Invalid 'success' param: URL host must be one of: localhost, cloud.appwrite.io, appwrite.io, *. If I use Expo Go, it works correctly, but it gives me that error when using the dev build. Can somebody help me?
Login function:
export async function googleLogin() {
const redirectUri = Linking.createURL('/', { isTripleSlashed: true });
const response = await account.createOAuth2Session(
OAuthProvider.Google,
redirectUri
);
if (!response) {
throw new Error('Failed to create OAuth2 session.');
}
const browserResponse = await openAuthSessionAsync(
response.toString(),
redirectUri
);
if (browserResponse.type !== 'success') {
throw new Error('Failed to authenticate with Google.');
}
const url = new URL(browserResponse.url);
const secret = url.searchParams.get('secret')?.toString();
const userId = url.searchParams.get('userId')?.toString();
if (!secret || !userId) {
throw new Error('Could not find values in URL.');
}
const session = await account.createSession(userId, secret);
if (!session) {
throw new Error('Failed to create session');
}
}
Let me know if you need more context / code. Thanks!
Recommended threads
- Query params are way too limiting in ter...
I was trying to list rows in a table that do not already exist in another table. I retrieved around 260 row IDs which are 13 characters in length each, and then...
- What Happens When You Add a Custom Domai...
- Can not login with OAuth
Hello everyone i am trying to login with ios and android in react native - expo but it is not successful. And this is the code which i am using to login
