The problem statement
Authenticating your users can be tricky business
And it can be pretty bad if you get it wrong
Sure, you can pay for something off-the-shelf, but that can get expensive really quickly and you have to worry about integrating, vendor lock-in, and keeping your code up-to-date.
And whether you do decide to pay for an off-the-shelf solution or roll your own, you need to figure out how to code up your React components and data retrieval code to make sure the right user is shown the right thing at the right time. Tricky business indeed.