Search code examples
metadataauth0

Not be able to console log Auth0 user_metadata. I created a custom rule I also see the data in postman.What am I doing wrong


** I'm doing as following, I already created a custom rule.**

 componentDidMount() {
            console.log(token)
            let response = fetch('https://DOmain.eu.auth0.com/userinfo', {
                method: 'GET',
                headers: {
                    Authorization: 'Bearer ' + token,
                },
            }).then((response) => response.json())
                .then(responseJson => data = responseJson).then(console.log(data.nickname));


            const  metadata = data["https://Domain.eu.auth0.com/user_metadata"]
            console.log(metadata);  

   }

My rule:
My rule


Solution

  • The Rule you have setup looks good, but will not work as the namespace is an Auth0 domain

    Any non-Auth0 HTTP or HTTPS URL can be used as a namespace identifier, and any number of namespaces can be used

    Give it a shot with an alternate namespace, example 'https://myapp.example.com/', and you should be good to go!

    As a side note, I would try to avoid adding all the usermetadata to the idtoken which can cause the generated token to be too large. You should also ensure that the data being included is not sensitive and can be disclosed. Some items that may be helpful, a quick read here: https://auth0.com/docs/metadata and here: https://auth0.com/docs/scopes/current/custom-claims to help you along the way!