Как я могу получить токен из заголовков? - PullRequest
0 голосов
/ 29 мая 2020

Я делал авторизацию по http. post, отправьте JSON Body с именем пользователя и паролем, в ответ я получаю заголовок, в заголовке есть токен, он хранится в 'set_cook ie: Authorization = token', как мне его получить и написать в хранилище?

1 Ответ

0 голосов
/ 29 мая 2020

Вы можете получить повар ie из ответа на запрос входа, используя следующий код

HttpClient _httpClient = new HttpClient();
HttpClientRequest request = await _httpClient.postUrl(Uri.parse(url));
request.headers.set('content-type', 'application/json');
request.add(utf8.encode(json.encode(jsonMap)));
HttpClientResponse response = await request.close();
print(response.cookies); // this is a List<Cookie>, you can iterate and find the required cookie

Теперь вы можете сохранить повар ie с помощью shared_preference плагина и использовать его во всех будущих запросах.

HttpClient client = new HttpClient();
HttpClientRequest clientRequest =
      await client.getUrl(Uri.parse("http: //www.example.com/"));
clientRequest.cookies.add(Cookie("sessionid", "asdasdasqqwd"));

Вы также можете изучить библиотеку dio и использовать AuthInterceptor, чтобы добавить токен для всех запросов за вас.

...