FusionAuth
    • Home
    • Categories
    • Recent
    • Popular
    • Pricing
    • Contact us
    • Docs
    • Login
    1. Home
    2. munkith.abid
    3. Best
    M
    • Profile
    • Following 0
    • Followers 0
    • Topics 1
    • Posts 2
    • Best 2
    • Controversial 0
    • Groups 0

    Best posts made by munkith.abid

    • Invalid JSON error when trying to retrieve users using user API

      Hi, I'm currently working on a task to migrate my corporate users from current AnA service to fusionauth.
      Part of the initial stages is writing a script (I decided to go with node js) to check if any of the users to be migrated already exist in fusionauth but I ran into the issue detailed below. It's worth mentioning that I can't use any node library other than the core once for technical reasons, this includes not installing fusionauth API.
      Node code snippet where the error raised:

      const apiToken = '<REQUIRED_API_TOKEN>';
      
      function checkUserByEmail() {
        const options = {
          hostname: '<OUR_DOMAIN>.fusionauth.io',
          path: '/api/user/<USER_EMAIL>',
          method: 'GET',
          headers: {
            "content-type": "application/json",
            Authorization: apiToken,
          }
        }
        const req = https.request(options, (res) => {
          res.setEncoding('utf8');
          process.stdout.write(`STATUS: ${res.statusCode}\n`);
          process.stdout.write(`HEADERS: ${JSON.stringify(res.headers)}\n`);
          res.on('data', (chunk) => {
            process.stdout.write(`BODY: ${chunk}`);
          });
          res.on('end', () => {
            process.stdout.write('Response ended!');
          });
        });
        req.on('error', e => process.stdout.write(`${e.name}: ${e.message}`));
        req.end();
       .
       .
       .
      }
      

      The error I'm getting is:

      STATUS: 400
      HEADERS: {"date":"Tue, 12 Jul 2022 18:31:00 GMT","content-type":"application/json;charset=UTF-8","content-length":"310","connection":"close","cache-control":"no-store"}
      BODY: {"fieldErrors":{"":[{"code":"[invalidJSON]","message":"Invalid JSON in the request body. The property was []. The error was [Possible conversion error]. The detailed exception was [No content to map due to end-of-input\n at [Source: (org.apache.catalina.connector.CoyoteInputStream); line: 1, column: 0]]."}]}}
      Response ended!
      

      Also, using curl would return the desired result:

         'https://s5stratos-dev.fusionauth.io/api/user?email=<USER_EMAIL>'
      

      will return:

      {"user":{"active":true,"connectorId":"e3306678-a53a-4964-9040-1c96f36dda72","email":"USER_EMAIL","encryptionScheme":"salted-pbkdf2-hmac-sha256","id":"USER_ID","insertInstant":1657571797768,"lastLoginInstant":1657571797768,"lastUpdateInstant":1657571797768,"passwordChangeRequired":false,"passwordLastUpdateInstant":1657571797823,"tenantId":"SOME_ID","twoFactor":{},"usernameStatus":"ACTIVE","verified":true}}
      

      I tried some other variations of the code above with no luck.
      I hope I posted every thing needed and thanks in advance.

      posted in Q&A erro json user-api
      M
      munkith.abid
    • RE: Invalid JSON error when trying to retrieve users using user API

      @dan Oops! thank you so much Dan, it worked as a charm. I was fooled into leaving this header in because I tried the exact same request setup using one of these free api endpoints instead of fusionauth api and it worked with the content-type included. Thanks again

      posted in Q&A
      M
      munkith.abid