Я работаю над приложением Flutter, которое будет использовать REST API на основе Express. При реализации сеансов на основе файлов cookie я хотел получить файлы cookie из приложения с помощью базового запроса аутентификации, но почему-то не могу получить файлы cookie в ответ. Когда я делаю тот же запрос от Postman, проблем нет, куки устанавливаются автоматически.
Я использую пакет HTTP для отправки запроса, и код довольно прост, как показано ниже.
void login(String username, String password) async {
var url = 'http://$username:$password@111.222.333.444:3333/auth';
var response = await http.get(url);
print('Response header: ${response.headers}');
print('Response status: ${response.statusCode}');
print('Response body: ${response.body}');
}
В заголовке или теле ответа нет файла cookie.
Решение проблемы
Если вы хотите получить значения cookie из ответа HTTP в флаттере
String rawCookie = response.headers['set-cookie']!;
int index = rawCookie.indexOf(';');
String refreshToken = (index == -1)? rawCookie: rawCookie.substring(0, index);
int idx = refreshToken.indexOf("=");
print(refreshToken.substring(idx+1).trim());
Комментариев нет:
Отправить комментарий