Подход 1:
Вы можете зарегистрировать пользователя в своем приложении, которое вызывает ваш API входа, написанный на NodeJS Сервере. В этом API вы можете генерировать токен и возвращать этот токен в ответе этой службы входа в систему.
В Flutter вы можете сохранить этот возвращенный токен в Shared Preferences и затем использовать этот сохраненный токен в каждой службе до срок действия этого токена истек, или пользователь вышел из системы.
Пример кода:
Future<String> Login(email, password) async {
final url = "API_URL";
var result = null;
final prefs = await SharedPreferences.getInstance();
var request = { "email": email, "password": password };
var body = json.encode(request);
var headers = {
'Content-type': 'application/json',
'Accept': 'application/json',
};
await http.post(url, body: body, headers: headers).then((response) {
print("Response body: ${response.body}");
if(response.statusCode == 200){
var json = jsonDecode(response.body);
prefs.setString('token', json['token']);
result = response.body;
}
else{
var json = jsonDecode(response.body);
print(json['error']['message']);
result = json['error']['message'];
}
});
return result;
}
Подход 2:
Вы можете создать токен в Flutter, используя это пакет. Этот блог может помочь вам понять и выполнить свою работу.
Спасибо.