Friends List inside User Pools?
Closed this issue · 3 comments
I want to create a friends section in it, Is it a good method to create a a friends
attribute inside Cognito User Pool Id, or do i need to make use of profiles table in DynamoDB and access its data and create friends list in return.
Hi Rohit-
Assuming that "friends" is a set, you would want to use a DynamoDB table or some other data store to keep track of each user's friends. Cognito User Pools attributes are meant to be specific to a single user, and the custom attributes which you can define can only be a number or a string of up to 20 characters. Given the size constraint and the fact that you may want to have several indexes on a table showing various friends in different manners, this would be better held in a separate table though you can use the Cognito unique IDs for the user pool user ID or identity ID (if using federated identities) to track friends, if desired.
Let us know if this clarifies for you.
Justin
@justonian I see that there is a profiles table setup, can i use that to store list of all users, or is there any use case for it. Thanks
You can. To change the table definition you'd need to modify api/lambda/data.js, though and then run gulp delete_tables and gulp create_tables.
The reason why we're not storing some of the profile information, in our case a profile picture, in the user pools attributes directly is because we want to also evolve the app to showcase login with FB/Google and SAML, in which case the customer's Cognito Federated Identity ID is the best option. However, logging in with Google or SAML wouldn't allow access to the user pool ID's attributes hence we're storing those centrally in a DynamoDB table.
Hope this helps.
Justin