
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.equal error
Hi guys. I'm using Appwrite Cloud, and I'm using version 21 of node-appwrite to benefit from transactions. The problem is I seem to be getting an error when I u...
- Invalid `success` param
Hi again, I've tried to set up the login process. However, I always get the message: `Invalid success param: URL host must be one of: localhost, xxx` I've alr...
- Cannot access my Appwrite database on th...
Hello guys, I am currently developing a web app and using appwrite for authentication, database, storage and messaging. It was working well but since yesterday...
