try to toString

This commit is contained in:
Henry Hiles 2025-06-22 14:15:53 -04:00
commit 32ec721e23
No known key found for this signature in database

View file

@ -52,6 +52,39 @@ class ApiHelper {
);
}
Future<Response> bridgeHandler(Request request) async {
final query = request.url.queryParameters;
final code = query['code'];
final redirectUri = query['redirect_uri'];
if (code == null || redirectUri == null) {
return Response(400, body: "Missing code or redirect_uri");
}
final tokenRes = await tokenHandler(
Request(
"POST",
Uri.base,
body: utf8.encode('code=$code&client_id=proxy'),
),
);
if (tokenRes.statusCode != 200) {
return Response(400, body: "Token post failed");
}
final uri = Uri.parse(redirectUri).replace(
queryParameters: {
...Uri.parse(redirectUri).queryParameters,
...(json.decode(await tokenRes.readAsString()) as Map).map(
(key, value) => MapEntry(key, value.toString()),
),
},
);
return Response.found(uri.toString());
}
Future<Response> tokenHandler(Request request) async {
final settings = ref.read(SettingsController.provider)!;
final body = Uri.splitQueryString(await request.readAsString());
@ -102,37 +135,6 @@ class ApiHelper {
);
}
Future<Response> bridgeHandler(Request request) async {
final query = request.url.queryParameters;
final code = query['code'];
final redirectUri = query['redirect_uri'];
if (code == null || redirectUri == null) {
return Response(400, body: "Missing code or redirect_uri");
}
final tokenRes = await tokenHandler(
Request(
"POST",
Uri.base,
body: utf8.encode('code=$code&client_id=proxy'),
),
);
if (tokenRes.statusCode != 200) {
return Response(400, body: "Token post failed");
}
final uri = Uri.parse(redirectUri).replace(
queryParameters: {
...Uri.parse(redirectUri).queryParameters,
...json.decode(await tokenRes.readAsString()),
},
);
return Response.found(uri.toString());
}
Future<Response> userinfoHandler(Request request) async {
final auth = request.headers["authorization"];
if (auth == null || !auth.startsWith("Bearer ")) {