checkToken function
Implementation
Future<Map<String, dynamic>?> checkToken(String token) async {
var comps = token.split(".");
if (comps.length != 3) {
throw Exception("Token format unknown");
}
try {
var mes = "${comps[0]}.${comps[1]}";
var mac = comps[2];
var hm = Hmac.sha512();
var secret =
SecretBox(utf8.encode(mes), nonce: [], mac: Mac(base64Url.decode(mac)));
await secret.checkMac(
macAlgorithm: hm,
secretKey: SecretKey(utf8.encode("11118111111155111511111191111112")),
aad: []);
var p = json.decode(utf8.decode(base64Url.decode(comps[1])));
return p;
} on Exception catch (e) {
print(e);
return null;
}
}