[ aws . ivschat ]

create-chat-token

Description

Creates an encrypted token that is used to establish an individual WebSocket connection to a room. The token is valid for one minute, and a connection (session) established with the token is valid for the specified duration.

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

See also: AWS API Documentation

See ‘aws help’ for descriptions of global parameters.

Synopsis

  create-chat-token
[--attributes <value>]
[--capabilities <value>]
--room-identifier <value>
[--session-duration-in-minutes <value>]
--user-id <value>
[--cli-input-json | --cli-input-yaml]
[--generate-cli-skeleton <value>]

Options

--attributes (map)

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.

key -> (string)

value -> (string)

Shorthand Syntax:

KeyName1=string,KeyName2=string

JSON Syntax:

{"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)

Syntax:

"string" "string" ...

Where valid values are:
  SEND_MESSAGE
  DISCONNECT_USER
  DELETE_MESSAGE

--room-identifier (string)

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

--session-duration-in-minutes (integer)

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

--user-id (string)

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

--cli-input-json | --cli-input-yaml (string) Reads arguments from the JSON string provided. The JSON string follows the format provided by --generate-cli-skeleton. If other arguments are provided on the command line, those values will override the JSON-provided values. It is not possible to pass arbitrary binary values using a JSON-provided value as the string will be taken literally. This may not be specified along with --cli-input-yaml.

--generate-cli-skeleton (string) Prints a JSON skeleton to standard output without sending an API request. If provided with no value or the value input, prints a sample input JSON that can be used as an argument for --cli-input-json. Similarly, if provided yaml-input it will print a sample input YAML that can be used with --cli-input-yaml. If provided with the value output, it validates the command inputs and returns a sample output JSON for that command.

See ‘aws help’ for descriptions of global parameters.

Examples

To create a chat token

The following create-chat-token example creates an encrypted chat token that is used to establish an individual WebSocket connection to a room. The token is valid for one minute, and a connection (session) established with the token is valid for the specified duration.

aws ivschat create-chat-token \
    --roomIdentifier "arn:aws:ivschat:us-west-2:12345689012:room/g1H2I3j4k5L6", \
    --userId" "11231234" \
    --capabilities "SEND_MESSAGE", \
    --sessionDurationInMinutes" 30

Output:

{
    "token": "ACEGmnoq#1rstu2...BDFH3vxwy!4hlm!#5",
    "sessionExpirationTime": "2022-03-16T04:44:09+00:00"
    "state": "CREATING",
    "tokenExpirationTime": "2022-03-16T03:45:09+00:00"
}

For more information, see Step 3: Authenticate and Authorize Chat Clients in the Amazon Interactive Video Service User Guide.

Output

sessionExpirationTime -> (timestamp)

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 -> (timestamp)

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 .