
How can i check if a user is logged in?

Maybe this will help: https://github.com/appwrite/appwrite/discussions/3938#discussioncomment-3746725

like that?
try {
account.get();
} catch(error) {
print("not logged in");
}```

Yep! You can also add the language to enable syntax highlighting

i actually did haha

Oh sorry. Dart highlighting doesn't work on mobile 😑

to logout i need to use account.deleteSessions()
right?

but then it will still show my logged in screen

Depends on how you build your app...

if this would be right it would show the not logged in screen

class LoggedIn extends StatelessWidget {
@override
Widget build(BuildContext context) {
try {
account().get();
return Home(title: 'Outfytr');
} catch(error) {
return NotLoggedIn();
}
}
}
class Home extends StatefulWidget {
final String title;
Home({required this.title});
@override
_HomeState createState() => _HomeState();
}
class _HomeState extends State<Home> {
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text(widget.title),
),
body: Align(
alignment: Alignment.topRight,
child: Row(
mainAxisAlignment: MainAxisAlignment.end,
children: [
ElevatedButton(
onPressed: () {
account().deleteSessions();
},
child: Text("Logout"),
),
],
),
),
);
}
}

You need to handle state and update the app accordingly...

and how (sorry im new to flutter)

It might be good to find some additional tutorials or so for flutter then

i've watched some, but i dont get the mistake

In order to refresh the UI, you need to update state

So it should be a statusful widget?

Yes

but the authenticated checker still does not work
code:
class LoggedIn extends StatefulWidget {
@override
_LoggedInStatus createState() => _LoggedInStatus();
}
class _LoggedInStatus extends State<LoggedIn> {
@override
Widget build(BuildContext context) {
try {
account().get();
return NotLoggedIn();
} catch(error) {
return Home();
}
}
}
class Home extends StatefulWidget {
@override
_HomeState createState() => _HomeState();
}
class _HomeState extends State<Home> {
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text("Outfytr"),
),
body: Align(
alignment: Alignment.topRight,
child: Row(
mainAxisAlignment: MainAxisAlignment.end,
children: [
ElevatedButton(
onPressed: () {
account().deleteSessions();
Navigator.pushReplacement(
context,
MaterialPageRoute(builder: (context) => NotLoggedIn()),
);
},
child: Text("Logout"),
),
Text(User.name().toString())
],
),
),
);
}
}```

I think you need some more tutorials and practice with state fundamentals in flutter

thats also a fix, somehow xD

after some working I think the error that i get is not on the widget site, i think, that it's the way I check the logged in. Do you know the fix?
error: Error: AppwriteException: general_unauthorized_scope, User (role: guests) missing scope (account) (401)

If an exception is thrown they aren't logged in....so then you need to update state based on that
Recommended threads
- Redirect URL sends HTTP instead of HTTPS...
I am not sure since when this issue is present, but my Google and Apple redirect URI are no longer pointing to the HTTPS redirect URI when I try to use OAuth. ...
- Failing to run document operations on sd...
Could someone point me in the right direction I'm going in cirlces. I have a problem with sdks and my self-hosted server in production (for ~3 years) I have bee...
- Functions fail to deploy after switching...
Hi <@1087889306208718959> , after switching my self-hosted Appwrite instance to use AWS S3 as the storage backend, my Cloud Functions stopped working. I’m runni...
