Facebook does not provide storage for saved games. Facebook's OAuth API can be used to login with Facebook and obtain a Facebook-specific user ID (and other data like name, email, friends, etc.) but that only solves a part of the problem.
Games will typically then use their own database solution (either on their own servers or a hosted cloud solution) to make things like Facebook IDs to their game-specific accounts. This mapping can be used to associate multiple authentication services to the same account, allowing a user to login with Facebook, Google, Twitter, Microsoft, or so on. That also illustrates why it's a bad idea to use the authentication provider's user id as the account id, because the same user will have completely different user ids across the various authentication providers.
The database solution used to store account metadata can also be used to store all saved game information, or a different storage service could provide that feature. It will be typical to wrap the various backend services (accounts, saved games, leaderboards, etc.) behind a single game-specific gateway API service so that the game clients only need to interact with one external platform (and don't need things like secret access keys to databases distributed with the clients!).
Note that there are also all-in-one "platforms" that provide the entirety of these services plus many others that a shipping game needs (telemetry, monetization, etc.). Larger game studios may build their own platform, like Battle.net or Steam, while smaller indie games might use something like PlayFab or GameSparks.
I would note that building out the platform for a game is a very large and serious undertaking; the effort to build out a scalable platform for a successful game can take far more time, money, and effort than building most games themselves. I'd recommend using an existing service like PlayFab, especially if you have limited experience building online games or a very small dev team (e.g. one person).