ivschat / Client / create_chat_token

create_chat_token#

ivschat.Client.create_chat_token(**kwargs)#

Creates an encrypted token that is used by a chat participant to establish an individual WebSocket chat connection to a room. When the token is used to connect to chat, the connection is valid for the session duration specified in the request. The token becomes invalid at the token-expiration timestamp included in the response.

Use the capabilities field to permit an end user to send messages or moderate a room.

The attributes field securely attaches structured data to the chat session; the data is included within each message sent by the end user and received by other participants in the room. Common use cases for attributes include passing end-user profile data like an icon, display name, colors, badges, and other display features.

Encryption keys are owned by Amazon IVS Chat and never used directly by your application.

See also: AWS API Documentation

Request Syntax

response = client.create_chat_token(
    attributes={
        'string': 'string'
    },
    capabilities=[
        'SEND_MESSAGE'|'DISCONNECT_USER'|'DELETE_MESSAGE',
    ],
    roomIdentifier='string',
    sessionDurationInMinutes=123,
    userId='string'
)
Parameters:
  • attributes (dict) –

    Application-provided attributes to encode into the token and attach to a chat session. Map keys and values can contain UTF-8 encoded text. The maximum length of this field is 1 KB total.

    • (string) –

      • (string) –

  • capabilities (list) –

    Set of capabilities that the user is allowed to perform in the room. Default: None (the capability to view messages is implicitly included in all requests).

    • (string) –

  • roomIdentifier (string) –

    [REQUIRED]

    Identifier of the room that the client is trying to access. Currently this must be an ARN.

  • sessionDurationInMinutes (integer) – Session duration (in minutes), after which the session expires. Default: 60 (1 hour).

  • userId (string) –

    [REQUIRED]

    Application-provided ID that uniquely identifies the user associated with this token. This can be any UTF-8 encoded text.

Return type:

dict

Returns:

Response Syntax

{
    'sessionExpirationTime': datetime(2015, 1, 1),
    'token': 'string',
    'tokenExpirationTime': datetime(2015, 1, 1)
}

Response Structure

  • (dict) –

    • sessionExpirationTime (datetime) –

      Time after which an end user’s session is no longer valid. This is an ISO 8601 timestamp; note that this is returned as a string.

    • token (string) –

      The issued client token, encrypted.

    • tokenExpirationTime (datetime) –

      Time after which the token is no longer valid and cannot be used to connect to a room. This is an ISO 8601 timestamp; note that this is returned as a string.

Exceptions

  • ivschat.Client.exceptions.AccessDeniedException

  • ivschat.Client.exceptions.ResourceNotFoundException

  • ivschat.Client.exceptions.PendingVerification

  • ivschat.Client.exceptions.ValidationException