Для проверки подлинности с помощью Imgur в мобильном приложении я решил создать http-сервер на порту 8585, чтобы завершить поток oauth. Запрос прочитан, а ответ написан, но я не могу получить доступ к параметрам запроса из URL.
Я уже пытался использовать uri.queryparameters ["access_token"], но возвращается ноль.
сервер создается следующим образом:
Future<Stream<String>> _server() async {
final StreamController<String> onCode = new StreamController();
HttpServer server =
await HttpServer.bind(InternetAddress.loopbackIPv4, 8585);
server.listen((HttpRequest request) async {
print(request.uri.hashCode);
final String accessToken = request.uri.queryParameters["access_token"];
request.response
..statusCode = 200
..headers.set("Content-Type", ContentType.html.mimeType)
..write("<html><h1>You can now close this window</h1></html>");
await request.response.close();
await server.close(force: true);
onCode.add(accessToken);
await onCode.close();
});
return onCode.stream;
}
URL-адрес, который получает сервер, имеет вид: http://localhost:8585/callback#access_token=your_token_here&expires_in=315360000&token_type=bearer&refresh_token=_your_refresh_token_here
Кто-нибудь может мне помочь? Я застрял на этом целых два дня!