getSignedCookie function

Future<String?> getSignedCookie(
  1. Context c,
  2. String secret,
  3. String key
)

Implementation

Future<String?> getSignedCookie(
  Context c,
  String secret,
  String key,
) async {
  final cookies = getCookies(c);
  final raw = cookies[key];

  if (raw == null) return null;

  final parts = raw.split('.');
  if (parts.length != 2) return null;

  final value = parts[0];
  final sig = parts[1];

  final expected = _sign(value, secret);

  if (sig != expected) return null;

  return value;
}