Set up the VidyoPortal Service

This section describes how to set up the VidyoPortal service.

Obtain the JWT Authentication Secret

You can obtain a JWT Authentication Secret by either one of these methods:

Caution

If you have already configured the Vidyo Event Service with a JWT Authentication Secret, you must use the same Secret here. Do not generate a new one; instead, skip this procedure and enter the Secret in the Vidyo Service Console. For more information, refer to the Vidyo Event Service Deployment Guide.

Generate a JWT Authentication Secret

The VidyoPortal can generate its own random Authentication Secret and return that back as part of a REST API response.

URL: /admin/api/v1/system/tenants/jwtAuthenticationSecret

Method: PUT

Authentication: Super credentials

Response Body

Field

Data type

Mandatory

Description

version

String

Y

Defines the version of the API.

status

String

Y

Defines the response status. For a successful response, its value will be “success”.

data

Object

Y

This is the element which encapsulates the API response. For this API, its value is null.

Secret

String

Y

This is the new authentication secret generated on the change of signing algorithm.

{

  "version": "1",

  "status": "success",

  "data": {

        "authenticationSecret": [{

            "secret": "asdfasdfasfLXZlcnktbG9uZy1zZWNyZXQta2V5LWZvci1zaWduaW5nLWp3dC10b2tlbnM="

        }]

    }

}    

HTTP status codes, error codes, and messages

HTTP response code

Error code

Error message

Scenario

400

101017

Invalid request

If signing algorithm name is valid.

Any other request body validation failure.

404

101018

Singing algorithm not configured

If signing algorithm is fetched while it is not configured at the tenant level.

404

101019

Authentication secret not configured

If authentication secret is fetched while it is not configured at the tenant level.

403

 

 

Unauthorized user if anybody other than the Super Admin tries to access.

Invalid tenant ID/FQDN.

500

101020

Internal server error

Internal server error.

{

    "version": "1",

    "status": "failure",

    "error": {

        "code": 101017,

        "message": "Invalid request",

        "errors": []

    }

}

Set a JWT Authentication Secret

Instead of letting the VidyoPortal generate its own random Authentication Secret and return that back as part of a REST API response, you can generate you own JWT Authentication Secret and use the same REST API to set it.

URL: /admin/api/v1/system/tenants/jwtAuthenticationSecret

Method: PUT

Authentication: Super credentials

Request Body

Field

Data type

Mandatory

Description

Validations

 

String

N

The authentication secret. For example:

2deC;p<V:3#p85?S3T#,4S]
[qpJ6&7R-7KT(C"rET(:<HPr3

Validation of authentication secret. It must contain at least one:

  • Capital letter
  • Special character
  • Number

Length of authentication secret is dependent on JWT signing algorithm. For HS384, the size minimum is 48 characters.

Should be encoded in Base64.

3gb5Zi3sDzs8oNAUiHlvd2SjBRZnnoAlQ3l1eIbEFlbsciNCglGuFw8sNNLyAEZb  (BASE 64)

Response Body

Field

Data type

Mandatory

Description

version

String

Y

Defines the version of the API.

status

String

Y

Defines the response status. For a successful response, its value will be “success”.

data

Object

Y

This is the element which encapsulates the API response. For this API, its value is null.

secret

String

Y

This is the new authentication secret generated on the change of signing algorithm.

HTTP status codes, error codes, and messages

HTTP response code

Error code

Error message

Scenario

400

101017

Invalid request

If signing algorithm is invalid.

Any other request body validation failure.

404

101018

Singing algorithm not configured

If signing algorithm is fetched while it is not configured at the tenant level.

404

101019

Authentication Secret not configured

If Authentication Secret is fetched while it is not configured at the tenant level.

403

 

 

Unauthorized user if anybody other than the Super Admin tries to access.

Invalid tenant ID/FQDN.

500

101020

Internal server error

Internal server error.

{

    "version": "1",

    "status": "failure",

    "error": {

        "code": 101017,

        "message": "Invalid request",

        "errors": []

    }

}

Generate a server token

Use the following procedure to generate a server token.

  1. Log into the System Console.
  2. Go to Advanced > VidyoEpic > Security Management > Portal Token: <generate>.

Graphical user interface, application

Description automatically generated

  1. Select OK. The Confirm page displays.

Graphical user interface, application

Description automatically generated

  1. Select Yes. The Portal Token is generated and appears on the Message page.

Graphical user interface, text, application

Description automatically generated

  1. Take note of the generated Token (you will need it in the next procedure) and then click OK.

Configure the VidyoPortal Token Level Event Service

Setup prerequisites

To complete the setup, you need the following:

Set the Portal Token on the VidyoPortal (REST API)

URL: https://{tenantFQDN}/admin/api/v1/serverTokens

Method: POST

Authentication: Super credentials

Request Body

Field

Data type

Mandatory

Description

Validations

serverToken

String

Y

Token is in GUID format

It is validated by GUID 8-3-3-3-12 characters (alphanumeric).

{

  "token": "c060aea2-5d5c-4792-b162-e7f6bfe5472d"

}

Response Body

Field

Data type

Mandatory

Description

version

String

Y

Defines the version of the API.

status

String

Y

Defines the response status. For a successful response, its value will be “success”.

data

Object

Y

This is the element which encapsulates the API response. For this API, its value is null.

{

  "version": "1",

  "status": "success",

  "data": null

}

HTTP status codes, error codes, and messages

HTTP response code

Error code

Error message

Scenario

400

 

Bad request

 

401

 

Unauthorized

 

403

 

Forbidden

 

500

 

Internal server error

 

{

    "version": "1",

    "status": "failure",

    "error": {

        "code": 101033,

        "message": "Bad request",

        "errors": []

    }

}