Существует ли какой-либо бесплатный механизм единого входа для Android, который корректно работает с не-веб-приложениями? Скажем, что-то вроде...
Вы запускаете мое приложение и используете его, пока оно не сделает запрос от приложения. сервер, требующий аутентификации. Он отвечает на этот запрос случайным токеном, который сервер свяжет с вами на короткое время.
Приложение предоставляет вам поле имени пользователя и пароль. поле и кнопку «Отправить».
Вы вводите свое имя пользователя и пароль. Затем приложение пересылает ваше имя пользователя и хешированный пароль вместе с токеном, сгенерированным сервером приложения, в службу входа в систему.
Служба входа определяет, следует ли ваше имя пользователя и пароль действительны. Если это так, оно ставит цифровую метку времени и подписывает токен, а затем возвращает подписанный токен приложению.
Приложение передает подписанный токен на сервер.< /p>
Сервер проверяет подпись, убеждается, что она действительна и подписана органом, которому он доверяет, и действует так, как если бы пользователь предоставил ИТ-специалисту действительное локальное имя пользователя. и пароль вместо этого.
Я подозреваю, что просто теряюсь в номенклатуре, но до сих пор у меня сложилось такое впечатление что все обычные поставщики единого входа — Twitter, Facebook и т. д. — позволяют пользователям входить в систему только с помощью обычного браузера, и что вам либо не разрешено делать то, что я описал, либо они делают что-то, что делает это фактически невозможным с что-либо, кроме обычного браузера (например, динамическое создание формы входа с помощью Javascript, чтобы предотвратить разработчиков от попыток использовать свои собственные приложения в качестве фасада входа в систему).
Альтернативно существует ли какой-либо рабочий процесс, подобный ЭТОМУ...
Вы запускаете мое приложение и используете его до тех пор, пока веб-сервис не потребует от вас входа в систему. Сервер приложения генерирует токен и возвращает его приложению.
Приложение запускает новый браузер посредством намерения, которое отправляет вас веб-сайт провайдера входа, передавая токен через намерение браузеру (и, в конечном итоге, провайдеру) в виде формвара, отправленного POST.
Вы входите в систему, используя окно браузера , и окно браузера закрывается, возвращая вас в мое приложение.
Провайдер входа подписывает токен, а затем отправляет его непосредственно на мой сервер приложений через HTTP POST. поэтому я могу отметить его отправку, проверить сертификат и относиться к нему так, как если бы он был вместо этого действительные имя пользователя и пароль, отправленные пользователем непосредственно на сервер приложений.
Существует ли какой-либо бесплатный механизм единого входа для Android, который корректно работает с не-веб-приложениями? Скажем, что-то вроде...
[list] [*]Вы запускаете мое приложение и используете его, пока оно не сделает запрос от приложения. сервер, требующий аутентификации. Он отвечает на этот запрос случайным токеном, который сервер свяжет с вами на короткое время. [*]Приложение предоставляет вам поле имени пользователя и пароль. поле и кнопку «Отправить». [*]Вы вводите свое имя пользователя и пароль. Затем приложение пересылает ваше имя пользователя и хешированный пароль вместе с токеном, сгенерированным сервером приложения, в службу входа в систему. [*]Служба входа определяет, следует ли ваше имя пользователя и пароль действительны. Если это так, оно ставит цифровую метку времени и подписывает токен, а затем возвращает подписанный токен приложению. [*]Приложение передает подписанный токен на сервер.< /p> [*]Сервер проверяет подпись, убеждается, что она действительна и подписана органом, которому он доверяет, и действует так, как если бы пользователь предоставил ИТ-специалисту действительное локальное имя пользователя. и пароль вместо этого. [/list]
Я подозреваю, что просто теряюсь в номенклатуре, но до сих пор у меня сложилось такое впечатление что все обычные поставщики единого входа — Twitter, Facebook и т. д. — позволяют пользователям входить в систему только с помощью обычного браузера, и что вам либо не разрешено делать то, что я описал, либо они делают что-то, что делает это фактически невозможным с что-либо, кроме обычного браузера (например, динамическое создание формы входа с помощью Javascript, чтобы предотвратить разработчиков от попыток использовать свои собственные приложения в качестве фасада входа в систему).
Альтернативно существует ли какой-либо рабочий процесс, подобный ЭТОМУ... [list] [*]Вы запускаете мое приложение и используете его до тех пор, пока веб-сервис не потребует от вас входа в систему. Сервер приложения генерирует токен и возвращает его приложению. [*]Приложение запускает новый браузер посредством намерения, которое отправляет вас веб-сайт провайдера входа, передавая токен через намерение браузеру (и, в конечном итоге, провайдеру) в виде формвара, отправленного POST. [*]Вы входите в систему, используя окно браузера , и окно браузера закрывается, возвращая вас в мое приложение. [*]Провайдер входа подписывает токен, а затем отправляет его непосредственно на мой сервер приложений через HTTP POST. поэтому я могу отметить его отправку, проверить сертификат и относиться к нему так, как если бы он был вместо этого действительные имя пользователя и пароль, отправленные пользователем непосредственно на сервер приложений. [/list]