В подобных случаях официальные приложения просто используют любую аутентификацию, какую захотят. Я думаю, что смысл использования OAuth и XAuth для неофициальных приложений состоит в том, чтобы предоставить некоторый доступ тем сторонним лицам, которые (1) могут быть отозваны пользователем, и (2) не требуют, чтобы у третьей стороны было имя пользователя / пароль самого пользователя. Фактически, до более широкого применения OAuth и др., Сторонние приложения, требующие вашего имени пользователя и пароля, были очень распространены. Только после того, как Facebook отключил этот вид доступа, метод OAuth стал более широко использоваться (в их случае).
В случае с официальными приложениями нет необходимости проходить через OAuth, потому что для получения токена аутентификации OAuth вам необходимо в любом случае ввести имя пользователя и пароль. В случае официальных приложений это сделало бы это лишним и ненужным.
Официальные приложения могут также общаться с выделенным набором серверов аутентификации, которые принимают вход только от мобильного приложения, мобильное приложение может предоставлять некоторую специальную дополнительную информацию, которая идентифицирует его как официальное приложение, или какой-то другой механизм начало имени пользователя и пароля для аутентификации. Я не разработчик Facebook, поэтому я не знаю. Но я хочу сказать, что Facebook / Twitter, вероятно, имеют отдельный логин на основе паролей API, и этот API доступен только через веб-интерфейс и другие официальные режимы входа.
Итак, в вашем случае, если вы создаете социальную сеть (или любую веб-службу, которая будет иметь мобильный доступ), просто используйте стандартный вход на основе пароля для вашего официального приложения, но не делайте этот метод входа доступным каждому. Если вы хотите разрешить сторонний доступ через API, вам действительно нужно настроить сервер OAuth / XAuth, чтобы сделать так, чтобы пароли ваших пользователей оставались только под вашим контролем (и не передавались сторонним группам / сайты / приложения).