Как реализовать веб-сервис двухфакторной аутентификации?
Добрый день. Есть задача реализовать веб-сервис двухфакторной аутентификации. Предполагается, что другие веб-сайты смогут использовать данный сервис для аутентификации своих пользователей. В моём понимании, нужно написать что-то подобное аутентификации гугла или vk.com, но как это писать понятия не имею. Т.е. в конечном итоге должно получиться два отдельно работающих приложения, одно из которых обращается посредством запросов к другому (или может использовать содержимое страницы другого)
Сама аутентификация уже сделана (sms, email, веб-камерой и qr-код).
А зачем? Гугл и так умеет в двухфакторную авторизацию, а накатывать свои велосипеды, особено там, где требуется секьюрность - очень и очень опасно. Такое придётся поддерживать лайфтайм, если в какой-то момент всё забросится - будет очень печально как пользователям, так и тем, кто подключал вашу систему. Станислав Макаров уже ответил - надо реализовать API OAuth, который в общем-то RESTfull, в целом он одинаковый для любых провайдеров.
Deerenaros: Дело в том, что это тема дипломного проекта (интернет сервис двухфакторной аутентификации) и вряд ли будет использоваться в интернете (на первое время уж точно). Я уже реализовал гугл аутентификацию в обычном приложении, прикрутил страницу с типом аутентификации веб-камера + qr код и все типы на локалхосте работают замечательно. Теперь думаю над тем, как прикрутить 3-4 вида аутентификации в отдельный сервис, если это возможно. Также нашёл примеры реализаций OAuth, но они работают чисто через веб-сервис и я не знаю, как прикрутить туда дополнительную страницу.
Арсений Федотов: ну вообще-то oauth авторизует через редирект на другую страницу, который принимает uri, по которому следует перенаправить юзера после удачной авторизации.
как уже сказал Deerenaros нужно принять запрос на авторизацию от веб приложения на свой сервис, далее уже сервис выполняет проверки (какие у вас там будут) и если считает что все ок отправляет ответ веб приложению, которое отправляло запрос.