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
- Added Custom Domain - API requests with ...
I've added in a custom domain to Appwrite my domain itself is on cloudflare but has Appwrite name servers added and confirmed they work, I added the CAA in clou...
- Table contents missing (attributes+rows)
Here is an image of the cloud and the attributes that should exist Some of the table do have the data but others dont. I am able to access the rows via api c...
- Bug Report: type generation for enum of ...
### 👟 Reproduction steps in the enum element value, instead of English, use another language (Khmer), in my case Khmer text. ``` export enum ProvinceType { ...