try to toString
This commit is contained in:
parent
a27a53b2cf
commit
32ec721e23
1 changed files with 33 additions and 31 deletions
|
@ -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 {
|
Future<Response> tokenHandler(Request request) async {
|
||||||
final settings = ref.read(SettingsController.provider)!;
|
final settings = ref.read(SettingsController.provider)!;
|
||||||
final body = Uri.splitQueryString(await request.readAsString());
|
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 {
|
Future<Response> userinfoHandler(Request request) async {
|
||||||
final auth = request.headers["authorization"];
|
final auth = request.headers["authorization"];
|
||||||
if (auth == null || !auth.startsWith("Bearer ")) {
|
if (auth == null || !auth.startsWith("Bearer ")) {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue