Dear sir/madam,
I think I found a bug in auth0 metadata parsing.
If you put in a int64 number eg 2507871118665596928 in the app_metadata the auth0 code wil round it too 2507871118665597000. The current work around is using a string to store the number.
If you go to the user profile in the dashboard, which of the two numbers do you see?
I tried this in my own tenant. It does appear something is going on. This is before and after saving app_metadata:
And from the management API after saving metadata:
"app_metadata": {
"uuid": "d56a5887-9578-4d6b-8aa9-84fa7972bddd",
"an_int64_number": 2507871118665597000
},
Thank you @markd for confirming that i’m not crazy
This is exactly what is happening. Also when the rules use this number and add it into an token the rounded number is used.
Thanks @markd for testing this. Just tried this directly on the browser’s console and got the same error:
JSON.parse('{"big_number": 2507871118665596928}').big_number
> 2507871118665597000
The limitation is in JSON.parse() (see node.js - Is there any proper way to parse JSON with large numbers? (long, bigint, int64) - Stack Overflow and Number.MAX_SAFE_INTEGER - JavaScript | MDN).
If you need to store these large values, you’ll have to use strings
This topic was automatically closed 15 days after the last reply. New replies are no longer allowed.