call method

ByteToken call(
  1. ByteToken p0
)

takes a ByteToken as argument and returns it if valid

Implementation

ByteToken call(ByteToken p0) {
  if (!p0.signature.equals(signature(p0.payload))) {
    throw Exception('signature not valid for $p0');
  }
  if (p0.payload.expirationTime == null) {
    throw Exception('invalid token expiration time\n$p0');
  }
  if (p0.payload.expirationTime! <
      DateTime.now().toUtc().millisecondsSinceEpoch) {
    throw Exception('token expired\n$p0');
  }
  return p0;
}