As we mentioned earlier, IdentityServer is not a pre-built service, but a framework. Such services do exist – Google, Twitter, Facebook, Microsoft, and so on all provide pre-built services that you can simply call and get an identity back. IdentityServer is much more of a roll your own solution.
It's worth considering why you might choose to roll your own in this manner. In our example here, one of the requirements is offline access, so that does weight the argument – you can't authenticate using Facebook if you're not online. It's also worth considering whether you would want to outsource the authentication of your users to a third party. I'm not saying for a minute that these aren't reliable, secure services, but they are run by companies. If you build your entire application around Facebook authentication and they...