createToken method

String createToken(
  1. String userId,
  2. String tenantId,
  3. String privateKey
)

Implementation

String createToken(String userId, String tenantId, String privateKey) {
  final time =
      (DateTime.now().add(Duration(days: 30)).millisecondsSinceEpoch / 1000)
          .round();
  final jwt = JWT(
    JsonEncoder().convert({
      'sub': userId,
      'aud': tenantId,
      'exp': time,
      'iss': 'https://login.yonomi.com/',
      "https://platform.yonomi.cloud/tenant": tenantId,
    }),
    header: {
      'alg': 'RS256',
      'typ': "JWT",
    },
    issuer: 'https://login.yonomi.com/',
    subject: userId,
    audience: Audience([tenantId]),
  );

  return jwt.sign(RSAPrivateKey(privateKey), algorithm: JWTAlgorithm.RS256);
}