Not able to logout from home screen pls review my code and suggest me the changes.
- 1
- Flutter
- Accounts
Sorry, I understand. Those days there were so many people asking things so it's normal to miss your post or have a delay on answers
void logout() async {
try {
final session = await widget.account.get();
print("Current Session: $session");
if (session != null) {
await widget.account.deleteSession(sessionId: session.$id);
print("Session Deleted");
} else {
print("No active session found.");
}
Navigator.of(context).popUntil((route) => route.isFirst);
Navigator.of(context).pushReplacement(
MaterialPageRoute(
builder: (context) => LoginScreen(
client: widget.client,
account: widget.account,
),
),
);
} catch (e) {
print("Logout error: $e");
// Handle any errors that may occur during logout
if (e is AppwriteException && e.message == "user_session_not_found") {
print("No active session found. Navigating to login page...");
Navigator.of(context).popUntil((route) => route.isFirst);
Navigator.of(context).pushReplacement(
MaterialPageRoute(
builder: (context) => LoginScreen(
client: widget.client,
account: widget.account,
),
),
);
} else {
}
}
}
Correct
In else you can handle other true errors, like connection issues or server issues
Logout error: AppwriteException: general_unauthorized_scope, User (role: guests) missing scope (account) (401) dont knw whats happening still getting same app started with homescreen and when clicking on logout button showing error
its working but what abt the exception π
That means too the user is already logged out
but after logout when i reload the app its still showing the home screen page which should not be showing beacuse i have loged out of the screen right?
From what I understand, the code you sent redirects you when you click logout button?
If so, and if by default you go to home screen, the app will go to home screen
But by default I'm not going to any homescreen
I'm checking it in the main function if the user had logged in move it to the home screen other wise login screen
But after logout and when I reopen the app again it starts with homescreen with no reason
Is that just the default view configued in your Flutter project?
Sorry I fell asleep π did you figure out what account.get is?
No
It will give us the current user info
I thinking of to use provider package to get things sorted out isn't it?
Then the user is still logged in
π€
btw
you can in fact do:
deleteSession(sessionId: 'current');
to delete the current session
So...account.get is a function. Calling the function will tell you if the user is logged in or not. The function itself will never be null
account.get != null will always resolve to true
Recommended threads
- How to use dart workspaces to deploy a f...
Hello, I'm developing a Flutter application and I would like to leverage dart pub workspaces to deploy a function with a dart runtime as advertised here : http...
- Issue Related to Presence
```PresenceService: upsert error β AppwriteException: user_unauthorized, The current user is not authorized to perform the requested action. (401) ...
- iOS Auth - Apple OAuth not working.
when i use the prod app, the apple auth on ios is not working, it shows me: missing redirect url. however the debug version, connected to another project is wor...