I have a .NET Core API (.NET Core 1.0.0 with EF 1.0) that I use in a serverless manner by having it as Lambda in Amazon AWS.
That API is fully functional, but I'd like to implement an authentication on it. Mainly for my Xamarin mobile app that will use that restful API. Amazon has something called Amazon Cognito where you can use 'Cognito Federated Identities' so signing in via Facebook, Google, etc.
I have no clue as to where to start. I've scavenged the internet and could find bits and pieces of code and articles here and there, but I can't figure out how to put it all together.
If I implement a AWS Cognito Authentication on my API, is an API key still necessary? Or should I use both? API key to authenticate my mobile phone as a valid user to the system and AWS Cognito for authenticating my user?
I'm assuming that the AWS authentication happens from an AWS SDK of some sorts, can I still benefit from Facebook authentication? For example can I get the user pictures/albums/likes/etc. Or do I have to use a Facebook SDK for this, if so do I use the Facebook SDK on the API level or Mobile app (Xamarin) level?
It would be great if someone ever implemented something like this (or similar) could present me with some sample code? Or at least something to push me in the right direction, cause I'm a bit lost. Thank you!