mirror of
https://github.com/go-vikunja/app
synced 2024-06-01 02:06:51 +00:00
added Remember Me option when logging in which requests a long_token from the api
This commit is contained in:
parent
112ff0bfbe
commit
74069180fa
|
@ -9,10 +9,11 @@ class UserAPIService extends APIService implements UserService {
|
|||
UserAPIService(Client client) : super(client);
|
||||
|
||||
@override
|
||||
Future<UserTokenPair> login(String username, password) async {
|
||||
Future<UserTokenPair> login(String username, password, {bool rememberMe = false}) async {
|
||||
var token = await client.post('/login', body: {
|
||||
'username': username,
|
||||
'password': password
|
||||
'password': password,
|
||||
'long_token': rememberMe
|
||||
}).then((response) => response.body['token']);
|
||||
return UserAPIService(Client(token, client.base))
|
||||
.getCurrentUser()
|
||||
|
|
|
@ -14,6 +14,7 @@ class LoginPage extends StatefulWidget {
|
|||
class _LoginPageState extends State<LoginPage> {
|
||||
final _formKey = GlobalKey<FormState>();
|
||||
bool _loading = false;
|
||||
bool _rememberMe = false;
|
||||
|
||||
final _serverController = TextEditingController();
|
||||
final _usernameController = TextEditingController();
|
||||
|
@ -98,6 +99,14 @@ class _LoginPageState extends State<LoginPage> {
|
|||
obscureText: true,
|
||||
),
|
||||
),
|
||||
Padding(
|
||||
padding: vStandardVerticalPadding,
|
||||
child: CheckboxListTile(
|
||||
value: _rememberMe,
|
||||
onChanged: (value) => setState( () =>_rememberMe = value),
|
||||
title: Text("Remember me"),
|
||||
),
|
||||
),
|
||||
Builder(
|
||||
builder: (context) => FancyButton(
|
||||
onPressed: !_loading
|
||||
|
@ -140,7 +149,7 @@ class _LoginPageState extends State<LoginPage> {
|
|||
if(_server.endsWith("/"))
|
||||
_server = _server.substring(0,_server.length-1);
|
||||
var newUser =
|
||||
await vGlobal.newUserService(_server).login(_username, _password);
|
||||
await vGlobal.newUserService(_server).login(_username, _password, rememberMe: this._rememberMe);
|
||||
vGlobal.changeUser(newUser.user, token: newUser.token, base: _server);
|
||||
} catch (ex) {
|
||||
showDialog(
|
||||
|
|
|
@ -105,7 +105,7 @@ abstract class TaskService {
|
|||
}
|
||||
|
||||
abstract class UserService {
|
||||
Future<UserTokenPair> login(String username, password);
|
||||
Future<UserTokenPair> login(String username, password, {bool rememberMe = false});
|
||||
Future<UserTokenPair> register(String username, email, password);
|
||||
Future<User> getCurrentUser();
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue
Block a user