generateJwt static method
Generate a random JWT.
Implementation
static String generateJwt({
Map<String, dynamic>? customPayload,
String algorithm = 'HS256',
}) {
// Generate the header
final header = {
'alg': algorithm,
'typ': 'JWT',
};
// Generate the payload
final payload = customPayload ??
{
'sub': _randomString(10),
'name': 'User ${_random.nextInt(1000)}',
'iat': DateTime.now().millisecondsSinceEpoch ~/ 1000,
'exp': DateTime.now()
.add(const Duration(days: 1))
.millisecondsSinceEpoch ~/
1000,
};
// Encode header and payload
final encodedHeader = _base64UrlEncode(jsonEncode(header));
final encodedPayload = _base64UrlEncode(jsonEncode(payload));
// Generate a dummy signature (you can replace this with a real one if needed)
final signature = _base64UrlEncode(_randomString(20));
// Combine all parts to form a JWT
return '$encodedHeader.$encodedPayload.$signature';
}