I am creating a new web application, and I plan to use Knockout Js for the front end UI and (at the moment anyway) MVC Web Api for the web services. The UI application will be a Single Page Application (SPA).
I need content to be secure for logged on users only (authentication). I intend to have different levels of content based on user roles (authorization).
I'm trying to establish the best way to carry out user authentication. I've typically used ASP.net forms authentication, but I've heard a lot about oAuth but not sure if its the best (most secure) way (I've read a lot of negatives about the oAuth 2.0 specification if not implemented correctly). I've also heard Claims authentication is a solid authentication technique.
The reason I am trying to think of other forms of authentication is for flexibility. Right now I am developing a web based application but I know we've native mobile applications to develop in the future and I want to have a single user base for all applications.
Can someone help de-mystify authentication methods for me (that work across devices) and with emphasis on how initial client authentication works, followed by suspecquent requests from the UI to the web api to retrieve data.
Thanks in advance for any advice!