The first step to identifying which authentication pattern you need is understanding the data-fetching strategy you want. We can then determine which authentication providers support this strategy.
There are two main patterns :
* Use static generation to server-render a loading state, followed by fetching user data client-side.
* Fetch user data server-side to eliminate a flash of unauthenticated content.