"inner join" with profile info

I assume this is a common scenario and am curious if there are best practices around it.

I’m using Auth0 to manage users. So, I’m using an Auth0 DB to store user credentials and profile info.

Now, let’s say you have the common blog post with a collection of comments scenario. I have an API where I have an end point which should return a collection of comments like:

    commentId: 12345,
    user: {
      firstName: "bob",
      lastName: "smith"       
    commentId: 98765,
    user: {
      firstName: "larry",
      lastName: "green"       

It a typical scenario in which I stored the user data in my own database, I’d do an inner join between comments and users. However, if I’m using Auth0 to store user data, there is no user entity to do a join against. So, how do I get the first firstName and lastName for each commenter? Is there a common pattern? A couple I can think of:

  1. Duplicate the user data in my DB, using come kind of syncing mechanism. The drawback is the extra complexity involved in syncing and keeping things updated.
  2. Make a request to Auth0 to get the user info every time this info is needed. The drawback is I don’t get the optimizations of having this all in my DB, sitting close to my API, caching etc.

I assume this is a very common scenario. So, how is it usually handled?