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
- [SOLVED] curl error Number: 6 — function...
Hello, I invested a lot of time in this error in a fresh install of appwrite 1.8.1 and lasted until fix, this if for helping anyone that can have the same weird...
- android platform invaild origina
It happened today suddenly. Our app says invalid origin. And appwrite cloud says every time we tried to add the app to it: "param platformId" is not optional.
- Team invite - 500 error - no email
When executing ```dart await _repository.teams.createMembership( teamId: event.listId, roles: ['member'], email: event.email, url: 'xxxx', ); ``` I se...