Display Cognito user custom attribute in react native app

0

I'm working on a react native app with AWS Amplify. Using fetchUserAttributes() function (from aws-amplify/auth), I get my signed in user info as following :{"custom:category": "particulier", "email": "email@gmail.com", ...} I'm ok manipulating and displaying basic attributes such as email in the app with the following : "const userAttributes = await fetchUserAttributes();" and "userAttributes.email".

However, I don't know how to do it with custom attribute such as "custom:category". I tried to get info with "const {?, email, name, ...} = await fetchUserAttributes();" but, once again, I don't know what to put for category.

I didn't find any information about that in the doc or on any forums.

Thanks in advance !

asked 7 months ago698 views
1 Answer
1
Accepted Answer

You can't directly destructure it like you do with built-in attributes because of the colon in its name. Instead, access it using bracket notation. Here’s how you can do it:

const userAttributes = await fetchUserAttributes();
const category = userAttributes["custom:category"];
profile picture
EXPERT
answered 7 months ago
  • I did it using : "const { tokens, credentials, identityId, userSub } = await fetchAuthSession(); const { idToken, accessToken } = tokens; idToken.payload['custom:category']" but I prefer your way. Thank you !

You are not logged in. Log in to post an answer.

A good answer clearly answers the question and provides constructive feedback and encourages professional growth in the question asker.

Guidelines for Answering Questions