Должен ли я использовать oAuth, например LinkedIn или Twitter, в качестве механизма входа в мое приложение? Кажется, что большинство приложений просто используют oAuth для подключения к нему других сервисов, но они заставляют вас настраивать собственного пользователя/пароль после использования oAuth (включая StackOverflow), и я не совсем понимаю, почему это так. Хотелось бы получить здесь некоторое представление. Спасибо.
Использование oAuth (Twitter, LinkedIn) для входа в веб-приложение
Ответы (5)
Почему бы не использовать OpenId, чтобы люди могли входить в ваше приложение. , без необходимости вводить какой-либо конкретный логин/пароль?
Цитируя соответствующую запись в Википедии:
OpenID — это открытый децентрализованный стандарт аутентификации пользователей, который можно использовать для управления доступом, позволяя пользователям входить в различные сервисы с одним и тем же цифровым идентификатором, если эти сервисы доверяют органу аутентификации.
OpenID заменяет обычный процесс входа в систему, который использует имя пользователя и пароль, ...
Кстати, именно так можно войти в систему на stackoverflow ;-)
Цель OAuth не в том, чтобы аутентифицировать ваших пользователей на вашем сайте, а в том, чтобы ваши пользователи разрешали вам (потребителю oauth) доступ к их защищенным ресурсам на других сайтах (поставщиках oauth), таких как LinkedIn, Twitter, API Google и т. д.
Для аутентификации вы должны использовать OpenId как другие указали
Твиттер предоставляет процесс входа с помощью Твиттера, который является OAuth, но обеспечивает более быстрое перенаправление, если это существующий пользователь вашей службы и он уже прошел проверку подлинности в Твиттере.
http://apiwiki.twitter.com/Sign-in-with-Twitter
Если вы создаете приложение, ориентированное на Twitter, это очень удобно, и вам не придется реализовывать полностью альтернативный метод аутентификации, такой как OpenID.
Будьте осторожны, если вы разрешаете пользователям аутентифицироваться как в Twitter, так и в LinkedIn, поскольку пользователи непреднамеренно создадут две учетные записи и потребуют их объединения.
Facebook и Twitter имеют API-интерфейсы «Войти через Facebook/Twitter», которые фактически позволяют пользователям входить в систему без необходимости создавать учетную запись для вашего веб-сайта. Оба они вернут вам действительный сеанс, который может (или не может) истечь. Таким образом, вам на самом деле не нужно было бы просить пользователей выбирать имя пользователя/пароль, так как вы можете получить оба из API (хотя вы не можете получить адрес электронной почты пользователя при использовании Twitter)
Так зачем же добавлять эти функции на свой веб-сайт?
Пользователи, как правило, с большей вероятностью нажмут кнопку «Войти с ...», чем пройдут весь процесс авторизации почтового адреса и введут свое имя и т. д.
Linkedin использует только OAuth для своего API. Это также будет зависеть от того, на каком языке вы пишете свое веб-приложение, у них должны быть готовые библиотеки-оболочки, к которым вы могли бы подключиться.