For a deeper look into our World Check One API, look into:

Overview |  Quickstart |  Documentation |  Downloads

question

Upvotes
1 0 1 2

Getting 401 response code when consuming World Check One APIs on ReactJS Frontend and also on Node/ Express Backend

Hi,

I am using a demo account for World Check One APIs. I needed to consume a few APIs and display information on the Frontend (ReactJs). Can understand that due to browser's CORS policy was getting 401 response code on the Frontend but I tried consuming the API on a Node/ Express backend environment and still getting the same response code and no data. I have tested the APIs on Postman as well as Java and it is working fine but need a solution for JavaScript based Frontend and Backend.


Copying the code for reference:


// Using Axios client to consume API
const url = "https://api-worldcheck.refinitiv.com/v2/cases/screeningRequest";
  
  const body = JSON.stringify({
    groupId: "********",
    entityType: "INDIVIDUAL",
    caseId: "",
    providerTypes: ["WATCHLIST"],
    caseScreeningState: {
      WATCHLIST: "INITIAL",
    },
    name: "John Smith",
    nameTransposition: false,
    secondaryFields: [],
    customFields: [],
  });
  
  const options = {
    headers: {
      "Date": new Date(),
      "Content-Type": "application/json",
      "Authorization": authorisationCode(),
      "Content-Length": "10000",

    },
    redirect: "follow",
    body
  };
  
  axios
    .post(
      url,
      // body,
      options
    )
    .then((response) => {
      console.log("response", response);
    })
    .catch((error) => {
      console.log("error", error);
    });  
// method used to generate Authorisation Code, this is working fine
const authorisationCode = () => {
  var date = new Date().toGMTString();
  var dataToSign =
    "(request-target): get " +
    "/v2/" +
    "groups\n" +
    "host: " +
    "api-worldcheck.refinitiv.com" +
    "\n" +
    "date: " +
    date;
  var hmac = generateAuthHeader(dataToSign);
  var authorisation =
    'Signature keyId="' +
    "**********" +
    '",algorithm="hmac-sha256",headers="(request-target) host date",signature="' +
    hmac +
    '"';
  return authorisation;
};
const generateAuthHeader = (dataToSign) => {
  var hash = CryptoJS.HmacSHA256(
    dataToSign,
    "**********"
  );
  return hash.toString(CryptoJS.enc.Base64);
};

Following is the response both on Frontend and Backend respectively:

Frontend:

1681476300749.png

Backend:

status: 401,
    statusText: '',
    headers: AxiosHeaders {
      date: 'Fri, 14 Apr 2023 12:01:15 GMT',
      'transfer-encoding': 'chunked',
      connection: 'close',
      'content-security-policy': "default-src 'none'; frame-ancestors 'none'",
      'strict-transport-security': 'max-age=15552000; includeSubDomains',
      'x-frame-options': 'DENY',
      'x-xss-protection': '1; mode=block',
      'x-content-type-options': 'nosniff',
      authorization: 'WWW-Authenticate: Signature realm="World-Check One API",algorithm="hmac-sha256",headers="(request-target) host date content-type content-length"'
    },
#technologyworld-check-oneerror-401javascript
1681476300749.png (23.0 KiB)
icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Hi @ali.saif ,

I'm afraid we haven't heard from you in a while and we cannot provide further assistance without the details we asked for. I'm closing this thread. If you need any further assistance, please start a new thread.

Thanks,
AHS

Upvotes
1.1k 2 2 3

Hello @ali.saif - thank you for reaching out to us! I will be investigating this and will get back to you once I have an update.

icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Hi @judith.pillado.lseg ,

Is there any update based on this, please?

Thanks,
AHS

Hi @judith.pillado.lseg ,

Is there any update based on this please?

Thanks,
AHS

Upvotes
1.1k 2 2 3

Hello @ali.saif - I have reached out via email but did not receive a response. Have you been able to resolve?

icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Write an Answer

Hint: Notify or tag a user in this post by typing @username.

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.