mirror of
https://github.com/go-vikunja/app
synced 2024-06-14 08:24:18 +00:00
fixed totp prompt
This commit is contained in:
parent
7451836cf1
commit
7391301718
|
@ -39,7 +39,7 @@ class Client {
|
|||
void reload_ignore_certs(bool? val) {
|
||||
ignoreCertificates = val ?? false;
|
||||
HttpOverrides.global = new IgnoreCertHttpOverrides(ignoreCertificates);
|
||||
if(global == null) return;
|
||||
if(global == null || global!.currentContext == null) return;
|
||||
VikunjaGlobal
|
||||
.of(global!.currentContext!)
|
||||
.settingsManager
|
||||
|
@ -97,7 +97,7 @@ class Client {
|
|||
headers: _headers,
|
||||
body: _encoder.convert(body),
|
||||
)
|
||||
.then(_handleResponse).catchError((Object? obj) {print(obj);});
|
||||
.then(_handleResponse);
|
||||
}
|
||||
|
||||
Future<Response?> put(String url, {dynamic body}) {
|
||||
|
|
|
@ -10,15 +10,20 @@ class UserAPIService extends APIService implements UserService {
|
|||
|
||||
@override
|
||||
Future<UserTokenPair> login(String username, password, {bool rememberMe = false, String? totp}) async {
|
||||
var response = await client.post('/login', body: {
|
||||
var body = {
|
||||
'long_token': rememberMe,
|
||||
'password': password,
|
||||
'totp_passcode': totp,
|
||||
'username': username,
|
||||
});
|
||||
};
|
||||
if(totp != null) {
|
||||
body['totp_passcode'] = totp;
|
||||
}
|
||||
var response = await client.post('/login', body: body);
|
||||
var token = response?.body["token"];
|
||||
if(token == null || response == null || response.error)
|
||||
return Future.value(UserTokenPair(null, null, error: response != null ? response.statusCode : 0));
|
||||
return Future.value(UserTokenPair(null, null,
|
||||
error: response != null ? response.body["code"] : 0,
|
||||
errorString: response != null ? response.body["message"] : "Login error"));
|
||||
client.configure(token: token);
|
||||
return UserAPIService(client)
|
||||
.getCurrentUser()
|
||||
|
|
|
@ -39,7 +39,8 @@ class UserTokenPair {
|
|||
final User? user;
|
||||
final String? token;
|
||||
final int error;
|
||||
UserTokenPair(this.user, this.token, {this.error = 0});
|
||||
final String errorString;
|
||||
UserTokenPair(this.user, this.token, {this.error = 0, this.errorString = ""});
|
||||
}
|
||||
|
||||
class BaseTokenPair {
|
||||
|
|
|
@ -193,7 +193,7 @@ class _LoginPageState extends State<LoginPage> {
|
|||
await vGlobal.newUserService!.login(
|
||||
_username, _password, rememberMe: this._rememberMe);
|
||||
|
||||
if (newUser.error == 412) {
|
||||
if (newUser.error == 1017) {
|
||||
TextEditingController totpController = TextEditingController();
|
||||
await showDialog(context: context, builder: (context) =>
|
||||
new AlertDialog(
|
||||
|
@ -213,11 +213,13 @@ class _LoginPageState extends State<LoginPage> {
|
|||
await vGlobal.newUserService!.login(
|
||||
_username, _password, rememberMe: this._rememberMe,
|
||||
totp: totpController.text);
|
||||
} else if(newUser.error > 0) {
|
||||
ScaffoldMessenger.of(context).showSnackBar(SnackBar(content: Text(newUser.errorString)));
|
||||
}
|
||||
|
||||
if (newUser.error == 0)
|
||||
vGlobal.changeUser(
|
||||
newUser.user!, token: newUser.token, base: _server);
|
||||
}
|
||||
|
||||
} catch (ex) {
|
||||
/* log(stacktrace.toString());
|
||||
|
|
Loading…
Reference in New Issue
Block a user