
I've implemented the oAuth Login with Google successfully and everything is working fine. Now when I tested all the error possibilities, I go something weird.
When the user starts the oAuth, it takes the user to the oAuth webpage. If the user presses back or gets back without completing the whole processes, then the app throws a java.lang.IllegalStateException with message User cancelled login . It occurs whenever user didn't complete the whole step. But when user completes all steps, the app works fine and there is no error.
I tried to catch the Exception, but couldn't. This triggers a Fatal Exception and crashes the app.
Here is the code I'm using -
private suspend fun loginWithGoogle() {
val account = Account(userModelRepository.client)
withContext(Dispatchers.IO) {
try {
val createSessionDeferred = async {
val result = account.createOAuth2Session(
activity = this@LoginHome,
provider = "google"
)
}
// Wait for createOAuth2Session to complete
createSessionDeferred.await()
// check session method here
userDetailsViewModel.getSession()
} catch (e: AppwriteException) {
e.printStackTrace()
} catch (e: Exception) {
e.printStackTrace()
} catch (e: IllegalStateException) {
e.printStackTrace()
}
}
}
Recommended threads
- Insights🐛 Bug Report: Missing Tables AP...
Hi. First time appwrite user. i'm building a new mobile app with react-native & expo and decided to use appwrite as a tech for this app. i found the react-nativ...
- CSV Import Shows Success but Data Not Ap...
I tried importing a CSV file into my PRODUCTS collection. The dashboard shows the message “Import to PRODUCTS completed successfully,” but no data appears in th...
- Console create row ui not passing ID.uni...
I'm getting an error saying the id is already used but it should be created with ID.unique() it doesn't seem to be reading the row ID field at all. I can't get ...
