Trim files
This commit is contained in:
parent
864fcad631
commit
957a6c6c97
2 changed files with 23 additions and 27 deletions
18
lib/controllers/key_controller.dart
Normal file
18
lib/controllers/key_controller.dart
Normal file
|
@ -0,0 +1,18 @@
|
|||
import "dart:io";
|
||||
|
||||
import "package:dart_jsonwebtoken/dart_jsonwebtoken.dart";
|
||||
import "package:matrixoidc/controllers/settings_controller.dart";
|
||||
import "package:riverpod/riverpod.dart";
|
||||
|
||||
class KeyController extends AsyncNotifier<SecretKey> {
|
||||
@override
|
||||
Future<SecretKey> build() async => SecretKey(
|
||||
(await File.fromUri(
|
||||
Uri.file(ref.read(SettingsController.provider)!.jwtSecretFile),
|
||||
).readAsString()).trim(),
|
||||
);
|
||||
|
||||
static final provider = AsyncNotifierProvider<KeyController, SecretKey>(
|
||||
KeyController.new,
|
||||
);
|
||||
}
|
|
@ -1,7 +1,7 @@
|
|||
import "dart:io";
|
||||
import "dart:convert";
|
||||
import "package:dart_jsonwebtoken/dart_jsonwebtoken.dart";
|
||||
import "package:matrixoidc/controllers/auth_code_controller.dart";
|
||||
import "package:matrixoidc/controllers/key_controller.dart";
|
||||
import "package:matrixoidc/controllers/settings_controller.dart";
|
||||
import "package:matrixoidc/helpers/name_helper.dart";
|
||||
import "package:shelf/shelf.dart";
|
||||
|
@ -136,9 +136,7 @@ class ApiHelper {
|
|||
);
|
||||
|
||||
final token = jwt.sign(
|
||||
SecretKey(
|
||||
(await File.fromUri(Uri.file(settings.jwtSecretFile)).readAsString()),
|
||||
),
|
||||
await ref.read(KeyController.provider.future),
|
||||
algorithm: JWTAlgorithm.HS256,
|
||||
);
|
||||
|
||||
|
@ -162,11 +160,7 @@ class ApiHelper {
|
|||
final token = auth.substring(7);
|
||||
final jwt = JWT.verify(
|
||||
token,
|
||||
SecretKey(
|
||||
(await File.fromUri(
|
||||
Uri.file(ref.read(SettingsController.provider)!.jwtSecretFile),
|
||||
).readAsString()),
|
||||
),
|
||||
await ref.read(KeyController.provider.future),
|
||||
);
|
||||
return Response.ok(
|
||||
jsonEncode({"sub": jwt.subject}),
|
||||
|
@ -184,29 +178,13 @@ class ApiHelper {
|
|||
}
|
||||
|
||||
try {
|
||||
JWT.verify(
|
||||
token,
|
||||
SecretKey(
|
||||
(await File.fromUri(
|
||||
Uri.file(ref.read(SettingsController.provider)!.jwtSecretFile),
|
||||
).readAsString()),
|
||||
),
|
||||
);
|
||||
|
||||
final jwt = JWT.verify(
|
||||
token,
|
||||
SecretKey(
|
||||
(await File.fromUri(
|
||||
Uri.file(ref.read(SettingsController.provider)!.jwtSecretFile),
|
||||
).readAsString()),
|
||||
),
|
||||
await ref.read(KeyController.provider.future),
|
||||
);
|
||||
|
||||
return Response.ok(
|
||||
json.encode({
|
||||
"active": true,
|
||||
"name": jwt.subject!.getName(),
|
||||
}),
|
||||
json.encode({"active": true, "name": jwt.subject!.getName()}),
|
||||
headers: {"content-type": "application/json"},
|
||||
);
|
||||
} catch (_) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue