Getting started and storing user data

I’m considering Auth0 for my project as it seems to have everything I need. Before getting started I would just like to broadcast my implementation idea - in case there is an easier way.

I will integrate user login into my React SPA (looks easy, works on localhost), but I will have some basic metadata that relates to users - this data can be an object consisting of an array of objects (could get quite large) along with other basic attributes. I though about using the metadata built into auth0 users, but decided against as it has a 500 character limit.
On the backend I’m running lambda’s in AWS and DynamoDB, I have no problem putting the data there and will probably do so unless anyone advises otherwise. That means I must work out how to set user permissions on what DynamoDB objects they can read/update. Probably in the AWS Lambda Authorizer.

Hope I’ve been clear enough. Any comments would be welcome

I’ve done similar. I have a graph database that stores the bulk of user data. Auth0 only handles username/email/password and roles. I don’t use the other fields.

Here’s my architecture:

  • User logs into Auth0
  • Auth0 redirects to SPA
  • SPA hits my account api, which is a replacement for the userinfo endpoint and proxies to the Auth0 management API (to allow for field updates). From here it pulls username, email, and whether or not the email is verified.
    Then, SPA hits profile api which is connected to a graph database. In here is where the bulk app data is stored including more profile info, avatar, photos, relationships, whatever.

So I think your solution is not far off.

2 Likes

Thanks a lot for sharing your architecture here @simpleauthority!

Nice, thanks for sharing!

1 Like

Really appreciate the co-operation here!