createChatToken method

Future<Map<String, dynamic>> createChatToken({
  1. required String region,
  2. required String accessKeyId,
  3. required String secretAccessKey,
  4. String? sessionToken,
  5. required String roomArn,
  6. required String userId,
  7. List<String> capabilities = const ['SEND_MESSAGE'],
  8. Map<String, String>? attributes,
  9. int sessionDurationInMinutes = 120,
})

Returns map with token, tokenExpirationTime, sessionExpirationTime.

Implementation

Future<Map<String, dynamic>> createChatToken({
  required String region,
  required String accessKeyId,
  required String secretAccessKey,
  String? sessionToken,
  required String roomArn,
  required String userId,
  List<String> capabilities = const ['SEND_MESSAGE'],
  Map<String, String>? attributes,
  int sessionDurationInMinutes = 120,
}) async {
  final creds = _creds(
    accessKeyId: accessKeyId,
    secretAccessKey: secretAccessKey,
    sessionToken: sessionToken,
  );
  final json = await _invoke(
    region: region,
    creds: creds,
    path: '/CreateChatToken',
    body: {
      'roomIdentifier': roomArn,
      'userId': userId,
      'capabilities': capabilities,
      'sessionDurationInMinutes': sessionDurationInMinutes,
      if (attributes != null && attributes.isNotEmpty) 'attributes': attributes,
    },
  ) as Map<String, dynamic>;
  return json;
}