Sample code for 30+ languages & platforms
Dart Requires Chilkat v11.5.0+

Example: Secrets.SecretSpecToJson method

Demonstrates the SecretSpecToJson method. This method converts a secret specification string to the JSON required to create or lookup the secret.

Chilkat Dart Downloads

Dart
import 'package:chilkat/chilkat.dart';

void main() {
  final secrets = CkSecrets();
  final json = CkJsonObject();
  json.emitCompact = false;

  // A secret name can include up to 4 components:
  // [appName] / service / [domain] / username

  // This example will demonstrate secret specification strings
  // for each possible combination.

  // ------------------------------------------------------
  // 1: service + username
  var sspec = '!!imap|john@example.com';

  secrets.secretSpecToJson(sspec, json);
  print(json.emit());

  // Result:
  // {
  //   "service": "imap",
  //   "username": "john@example.com"
  // }

  // ------------------------------------------------------
  // 2: appName + service + username
  sspec = '!!myApp|imap|john@example.com';

  secrets.secretSpecToJson(sspec, json);
  print(json.emit());

  // Result:
  // {
  //   "appName": "myApp",
  //   "service": "imap",
  //   "username": "john@example.com"
  // }

  // ------------------------------------------------------
  // 3: service + domain + username
  sspec = '!!|imap|imap.example.com|john';

  secrets.secretSpecToJson(sspec, json);
  print(json.emit());

  // Result:
  // {
  //   "service": "imap",
  //   "domain": "imap.example.com",
  //   "username": "john"
  // }

  // ------------------------------------------------------
  // 4: appName + service + domain + username
  sspec = '!!myApp|imap|imap.example.com|john';

  secrets.secretSpecToJson(sspec, json);
  print(json.emit());

  // Result:
  // {
  //   "appName": "myApp",
  //   "service": "imap",
  //   "domain": "imap.example.com",
  //   "username": "john"
  // }
}