StatelessResetToken.generate constructor

StatelessResetToken.generate(
  1. ConnectionId cid
)

Generates a stateless reset token from a Connection ID using HMAC-SHA256. Requires a server secret to be set via setServerSecret().

Implementation

factory StatelessResetToken.generate(ConnectionId cid) {
  if (_serverSecret == null) {
    throw StateError('Server secret must be set before generating tokens');
  }

  // Use HMAC-SHA256 and take first 16 bytes
  final hmac = Hmac(sha256, _serverSecret!);
  final digest = hmac.convert(cid.bytes);
  final tokenBytes = Uint8List.fromList(digest.bytes.sublist(0, length));

  return StatelessResetToken(tokenBytes);
}