Существует ли какой-либо бесплатный механизм единой регистрации для Android, который изящно работает с не-веб-приложениями?Скажем, что-то вроде ...
Вы запускаете мое приложение и используете его, пока оно не сделает запрос от сервера приложений, который требует аутентификации.Он отвечает на этот запрос случайным токеном, который сервер будет связывать с вами в течение короткого времени.
Приложение предоставляет вам поле имени пользователя, поле пароля и кнопку отправки.
Вы вводите свое имя пользователя и пароль.Затем приложение перенаправляет ваше имя пользователя и хешированный пароль вместе с токеном, сгенерированным сервером приложений, в службу входа в систему.
Служба входа определяет, действительны ли ваше имя пользователя и пароль.,Если это так, он ставит цифровые метки времени и подписывает токен и возвращает подписанный токен приложению.
Приложение передает подписанный токен серверу.
Сервер проверяет подпись, удостоверится в том, что она действительна и подписана уполномоченным им органом, и действует так, как если бы пользователь предоставил ИТ-отделу действительное локальное имя пользователя и пароль вместо этого.
Я подозреваю, что просто теряюсь в номенклатуре, но у меня сложилось впечатление, что все обычные провайдеры единого входа - Twitter, Facebook и т. Д. - разрешают пользователям входить в систему только с помощью обычного браузера.и что вам либо не разрешено делать то, что я описал, либо они делают что-то, что фактически делает невозможным что-либо, кроме обычного браузера (например, динамическое создание формы входа через Javascript, чтобы разработчики не пытались использовать ихсобственные приложения в качестве фасада входа в систему).
В качестве альтернативы, существует ли какой-либо рабочий процесс, такой как ЭТО ...
Вы запускаете мое приложение и используете его, пока веб-служба не потребует от вас входа в систему. Сервер приложений создает токен и возвращает его в приложение.
Приложение порождает новый браузер через намерение, которое отправляет вас на веб-сайт провайдера входа в систему, передавая токен через браузер (и, в конечном счете, провайдеру) через намерение как формула POST.
Вы входите в систему с помощью окна браузера, и окно браузера закрывается - вы возвращаетесь в мое приложение.
Поставщик входа подписывает токен, а затем отправляет его непосредственно на сервер приложений через HTTPPOST, чтобы я мог отметить его отправку, проверить сертификат и обращаться с ним так, как если бы он был вместо этого действительным именем пользователя и паролем, предоставленными пользователем непосредственно серверу приложений.