fetchPublicKey method

Future<JWK?> fetchPublicKey()

Implementation

Future<JWK?> fetchPublicKey() async {
  try {
    final url = Uri.parse('${Verify._verifyUrlV2}/public-key');
    _core.logger.d('[$runtimeType] fetching public key from $url');
    final response = await _httpClient.get(url).timeout(Duration(seconds: 5));
    final pk = JWK.fromJson(jsonDecode(response.body));
    final expDate = DateTime.fromMillisecondsSinceEpoch(pk.expiresAt * 1000);
    _core.logger.d('[$runtimeType] public key fetched: ${pk.toJson()}');
    _core.logger.d('[$runtimeType] public key expires on: $expDate');
    return pk;
  } catch (e) {
    _core.logger.e('[$runtimeType] fetching public error: $e');
  }
  return null;
}