Skip to main content
Skip table of contents

JSON Web Token Authentication

LAST UPDATED: DEC 5, 2024

JSON Web Token (JWT) enables authentication by encoding claims within a digitally signed token, ensuring secure validation of user identity and permissions. Follow the steps in this article to send a JWT-encoded request in Postman.

Prerequisites

How to Enable JWT Webhook Authentication on D3 vSOC
  1. Open the Web Config settings.

    Frame 1 (35)-20241205-193840.png
    1. Click on the Configuration navigational link.

    2. Click on the Application Settings icon.

    3. Click on the Web Config option.

Frame 2 (36)-20241205-194610.png
  1. Set the EnableEnhanceWebhookAuthentication radio option to True.

  2. Click on the Save button.

Frame 3 (36)-20241205-200433.png
  • Ability to set up D3 webhook keys

Setting Up JWT Remote Command Keys for Utility Command
Frame 4 (33)-20241205-203941.png
  1. Ensure that Webhook Authentication is toggled on.

  • On: image 1 (2)-20241205-203600.png

  • Off: image 3 (4)-20241205-203551.png

  1. Click on the JSON Web Token (JWT) button.

Frame 5 (22)-20241205-204643.png
  1. Click on the + button within the Setup JWT popup.

  2. Enter a unique Key Name.

  3. Click on the Generate button

The user will see a display similar to the following:

Group 24.png
Setting Up JWT Remote Command Keys for Integration Commands
  1. Establish a connection between D3 vSOC and the integration. This connection must be active and display a status, as shown in the image above.

    Frame 6 (28)-20241205-212847.png

    Ensure the connection is associated with a specific site. The connection in the screenshot is linked to the Security Operations site.

  2. Select the desired integration command.

    Frame 7 (35)-20241205-214706.png

    For demonstration purposes, the Get Computers command will be used.

    Frame 8 (33)-20241205-214910.png
  3. Ensure that Webhook Authentication is toggled on.

  • On: image 1 (2)-20241205-203600.png

  • Off: image 3 (4)-20241205-203551.png

  1. Click on the JSON Web Token (JWT) button.

    Frame 11 (28)-20241205-222803.png
  2. Click on the + button within the Setup JWT popup.

  3. Select the connection created from step 1. The connection should have the name of the site it is linked to in parentheses.

  4. Enter a unique Key Name.

  5. Click on the Generate button.

The user will see a display similar to the following:

Group 25.png

READER NOTE

Each JWT Remote Command Key will have a unique Secret Key value used in generating the JWT encoding.

Setting Up and Sending a JWT-Encoded Request

  1. Copy the request URL in vSOC.

    Group 1 (3).png
  2. In Postman, set the HTTP request method to POST, then paste the request URL in the designated field.

    Group 2 (2).png
  3. In vSOC, copy the request header key.

    Group 3 (1).png
  4. In Postman, click on the Headers tab, then paste the request header key under the Key column.

    Group 4.png
  5. In vSOC, copy the object from the Header section.

    Group 5.png
  6. In jwt.io, ensure that encoding algorithm is HS256, then paste the object into the HEADER field.

    Group 29.png
  7. In vSOC, copy the payload.

    Group 7.png
  8. In jwt.io, paste the payload into the PAYLOAD field.

    Group 8.png
  9. Populate the PAYLOAD fields. For this demonstration, the completed payload is as follows:

    Group 15 (2).png

READER NOTE

  • Ensure the value of the payload’s Username field matches the username of the user being granted access to the remote command key (demo_user in this case).

    Group 13-20241206-012047.png
    • By default, the creator is the only individual with access.

  • All payload data are case-sensitive.

  1. In vSOC, copy the Secret Key.

    Group 16.png
  2. In jwt.io, paste the Secret Key.

    Group 18 (2).png
  3. In vSOC, copy the request body sample data.

    Group 14.png
  4. In Postman, select the Body tab, choose the raw option, then paste the sample request body data.

    Group 20.png
  5. Adjust the values to match the payload exactly.

    Group 21 (1).png
  6. In jwt.io, copy the encoded token.

    Frame 12 (28)-20241206-011646.png
  7. In Postman, click on the Headers tab, paste in the token, then send the request.

    Frame 13 (30)-20241206-013239.png

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.