Our application currently allows users to sign in using an email/password combination, Facebook or Google. In the update we're working on, we will also add the ability to sign in with a Microsoft account.
Currently, the applications have a "native" login for email/password and uses a browser workflow for Facebook and Google. At the moment we're considering whether the benefits of moving the entire workflow to a normal single sign on model - similar to Google/Facebook - whereby the app would have a single "sign in" button which would launch a (nicely styled) webpage, then giving the user the option to sign in with email/password, Facebook etc. One app I think does this quite well is Skype on Windows Phone.
From a technical standpoint, moving the entire workflow to the cloud would allow us to fix bugs much easier and faster, whilst also giving the benefit of changing the sign in / up process in the future.
The update in question also introduces 2 account types - making "native" oauth login much trickier and time consuming to handle on from the mobile app. From a UX and therefore user's perspective, are we likely to see a higher number of "drop outs" (users downloading the app and not bothering to sign up)?
I can think of 3 possible solutions...
Option 1
Everything native. The sign in, the single sign on, the registration form and any setup involved in choosing account type etc.
Option 2
Semi-native. Native sign in, native registration form and single sign on. If any further steps are required (choosing account type, additional fields), the app shows a web page within a web browser control.
Option 3
Everything in the browser. The app has a single sign on button which shows a web browser control giving the option to sign in / up. The page / control will be styled to match the app and device's UI as much as possible.