It's worth calling out that there are two levels of integration between FusionAuth and your application.
The first is with OAuth/OIDC. These are standards and FusionAuth should work with any library that supports those standards. (If not, please open a bug, as we want to know about that ). This will handle authentication and authorization. The data you can get about the user is limited, though you can put custom claims in your JWT with lambdas if what you need is in the user or the registration objects. If this meets your needs, definitely recommend using a library like the one mgetka or I suggest.
The second is with the FusionAuth API. This has access to all the APIs, including things that just aren't accessible via the standards. Stuff like registering a user to an application or adding/removing them from a group, or adding custom data to the user.data field.
I'm sure you know all that @mgetka , just wanted to document for others as it was confusing for me when I started integrating.