FusionAuth
    • Home
    • Categories
    • Recent
    • Popular
    • Pricing
    • Contact us
    • Docs
    • Login

    FusionAuth not persisting user's info

    Scheduled Pinned Locked Moved Solved
    Q&A
    2
    3
    1.2k
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • A
      account
      last edited by

      Hi,

      I am experiencing an issue where certain user fields, specifically firstName, lastName, and mobilePhone, are intermittently not being persisted when registering users via the FusionAuth API. Here’s a summary of the setup and the problem:

      Endpoint Used: /api/user/registration.

      Payload Structure:

      • The payload includes firstName, lastName, and mobilePhone fields in the user object.
      • All required configurations and fields are included in the registration request, and the fields are visible in the API response immediately after registration.

      Issue Description:
      While the registration response contains the firstName, lastName, and mobilePhone fields, these fields are missing when I query the user details afterward via the API or view them in the FusionAuth web interface.
      This issue does not affect all users; some user records persist these fields correctly, while others do not (I should mention my early users had this info persisted, but the new ones not and nothing has changed at all from my end).

      Could you please advise on potential causes for this issue or any FusionAuth configuration adjustments that may resolve it? Additionally, are there any known caching mechanisms or schema conflicts that might explain why certain fields appear in the initial response but do not persist in the database?

      Here are some info that might be useful.
      Payload Example (the one I am sending):

      {
        "disableDomainBlock": false,
        "generateAuthenticationToken": true,
        "sendSetPasswordEmail": false,
        "skipVerification": true,
        "skipRegistrationVerification": false,
        "registration": {
          "applicationId": "8b284ded-c569-4477-8f5e-07303110d5b0",
          "preferredLanguages": [
            "en"
          ],
          "roles": [
            "user"
          ],
          "data": {
            "displayName": "Fusionauth Nametest"
          }
        },
        "user": {
          "email": "*********************",
          "password": "***************",
          "encryptionScheme": "salted-pbkdf2-hmac-sha256",
          "passwordChangeRequired": false,
          "preferredLanguages": [
            "en"
          ],
          "data": {
            "displayName": "Fusionauth Nametest"
          },
          "firstName": "Fusionauth",
          "lastName": "Nametest",
          "fullName": "FusionauthNametest"
        }
      }
      

      FusionAuth response from above payload

      {
        "refreshToken": "*******************************",
        "registration": {
          "applicationId": "8b284ded-c569-4477-8f5e-07303110d5b0",
          "authenticationToken": "************************",
          "data": {
            "displayName": "Fusionauth Nametest"
          },
          "id": "ff0c34f0-c1f6-4647-ae08-62611e6274ea",
          "insertInstant": 1731282567163,
          "lastLoginInstant": 1731282567163,
          "lastUpdateInstant": 1731282567163,
          "preferredLanguages": [
            "en"
          ],
          "roles": [
            "user"
          ],
          "tokens": {},
          "usernameStatus": "ACTIVE",
          "verified": true
        },
        "token": "*****************",
        "tokenExpirationInstant": 1731286167166,
        "user": {
          "active": true,
          "connectorId": "e3306678-a53a-4964-9040-1c96f36dda72",
          "data": {
            "displayName": "Fusionauth Nametest"
          },
          "email": "r***************",
          "firstName": "Fusionauth",
          "fullName": "Fusionauth Nametest",
          "id": "35138b6d-2e7e-4ecd-ace4-f245a5be2f0d",
          "insertInstant": 1731282567150,
          "lastLoginInstant": 1731282567163,
          "lastName": "Nametest",
          "lastUpdateInstant": 1731282567150,
          "memberships": [],
          "passwordChangeRequired": false,
          "passwordLastUpdateInstant": 1731282567159,
          "preferredLanguages": [
            "en"
          ],
          "registrations": [],
          "tenantId": "5a7486bd-562b-4235-a371-25f3cbac473e",
          "twoFactor": {
            "methods": [],
            "recoveryCodes": []
          },
          "usernameStatus": "ACTIVE",
          "verified": true
        }
      }
      

      As can be seen, firstName, lastName exist in the payload and response but when I run api/user/24609063-ff74-4359-8ce5-350619be261b I don't see the information; more importantly, when I try to send an email and include the user's firstName I do not have the name available. I get this error:

      text : freemarker.core.InvalidReferenceException: The following has evaluated to null or missing:
      ==> user.firstName [in nameless template at line 1, column 9]
      

      Also here is the response to api/user/24609063-ff74-4359-8ce5-350619be261b:

      {
        "user": {
          "active": true,
          "connectorId": "e3306678-a53a-4964-9040-1c96f36dda72",
          "data": {
            "last_login": 1731282567
          },
          "email": "********************",
          "encryptionScheme": "salted-pbkdf2-hmac-sha256",
          "factor": 24000,
          "id": "35138b6d-2e7e-4ecd-ace4-f245a5be2f0d",
          "insertInstant": 1731282567150,
          "lastUpdateInstant": 1731282567653,
          "memberships": [],
          "passwordChangeRequired": false,
          "passwordLastUpdateInstant": 1731282567159,
          "preferredLanguages": [],
          "registrations": [
            {
              "applicationId": "8b284ded-c569-4477-8f5e-07303110d5b0",
              "authenticationToken": "*******************",
              "data": {
                "displayName": "Fusionauth Nametest"
              },
              "id": "ff0c34f0-c1f6-4647-ae08-62611e6274ea",
              "insertInstant": 1731282567163,
              "lastLoginInstant": 1731282567163,
              "lastUpdateInstant": 1731282567163,
              "preferredLanguages": [
                "en"
              ],
              "roles": [
                "user"
              ],
              "tokens": {},
              "usernameStatus": "ACTIVE",
              "verified": true
            }
          ],
          "tenantId": "5a7486bd-562b-4235-a371-25f3cbac473e",
          "twoFactor": {
            "methods": [],
            "recoveryCodes": []
          },
          "usernameStatus": "ACTIVE",
          "verified": true
        }
      }
      

      Thank you for your assistance in troubleshooting this matter. Please let me know if any additional information is needed.

      Best regards,

      mark.robustelliM 1 Reply Last reply Reply Quote 0
      • mark.robustelliM
        mark.robustelli @account
        last edited by

        @account what are you using to make the API calls? Have you tried using Postman to see if that is consistent?

        A 1 Reply Last reply Reply Quote 1
        • A account has marked this topic as solved on
        • A
          account @mark.robustelli
          last edited by

          @mark-robustelli it was my fault, it turned out someone in the team created a lambda operation that was running which changes the user's data as soon as the user signs up which overrides the initial data.

          Thanks for your reply though.

          1 Reply Last reply Reply Quote 1
          • First post
            Last post