Token.fromJson constructor
Implementation
factory Token.fromJson(Map<String, dynamic> json) {
if (json['header'] != null && json['header'] is Map<String, dynamic>) {
return Token(
data: json['data']?.toString() ?? '',
signature: json['signature']?.toString() ?? '',
header: Header.fromJson(json['header'] as Map<String, dynamic>),
version: json['version']?.toString() ?? '',
);
}
// If the parsed map already contains a raw token string in `data`, keep it
// as-is so `Token.data` stores the raw token (common when the platform
// returns a non-JSON token string).
if (json['data'] is String) {
return Token(
data: json['data'] as String,
signature: json['signature']?.toString() ?? '',
header: null,
version: json['version']?.toString() ?? json['protocolVersion']?.toString() ?? '',
protocolVersion: json['protocolVersion']?.toString(),
intermediateSigningKey: json['intermediateSigningKey'] is Map<String, dynamic>
? Map<String, dynamic>.from(json['intermediateSigningKey'] as Map<String, dynamic>)
: null,
signedMessage: json['signedMessage']?.toString(),
);
}
return Token(
data: jsonEncode(json),
signature: json['signature']?.toString() ?? '',
header: null,
version: json['protocolVersion']?.toString() ?? '',
protocolVersion: json['protocolVersion']?.toString(),
intermediateSigningKey: json['intermediateSigningKey'] is Map<String, dynamic>
? Map<String, dynamic>.from(json['intermediateSigningKey'] as Map<String, dynamic>)
: null,
signedMessage: json['signedMessage']?.toString(),
);
}