OpenID или OAuth

OpenID
7
Нейтральная
сторона
0
OAuth
6
Универсальный пропуск на все сайты
Прежде чем писать комментарии или выбрать сторону вы должны авторизироваться!
Специальный ключ к своему аккаунту

09-06-2011 01:05 0


На первый взгляд здесь нет спора, потому что протоколы разрабатывались для противоположных целей, но поскольку оба протокола нашли применение для ускоренной регистрации на сайте, открываю холивар.

OpenID — это универсальный пропуск, который можно использовать на любом сайте. Заведя блог на Я.ру, например, я автоматически получаю идентификатор username.ya.ru. Этот идентификатор сообщает всем сайтам, на которых я его введу, что предъявитель сего — действительно лошадь зарегистирован на ya.ru как username. Дополнительно (с разрешения владельца аккаунта) он может сообщать сайту настоящее имя, пол, дату рождения, e-mail, страну, язык, часовой пояс и больше ничего.

0 комментариев
09-06-2011 11:58 +1

Я за OpenID. OAuth правда больше распространен (социальные игрушки, комментарии на некоторых сайтах), но пользы от него куда меньше. Лучше уж один раз внести юзера по нормальному в свою базу, чем каждый раз тягать за собой тонны всяких приблуд от контакта. Да и надежность больше, мало ли что там Дурову и ко взбредет в голову?

2 комментария
opera.rulez 09-06-2011 17:24 0

cherepets, Приблуды не нужны. Я говорил не о всяких виджетах (вконтактовские комментарии и т. п. — говно), а об использовании OAuth для идентификации пользователя.

Вообще да, OpenID универсальнее. Для поддержки OAuth нужно регистрировать сайт у каждого OAuth-провайдера, а установив OpenID один раз, мы открываем доступ сразу всем OpenID-провайдерам.

С другой стороны, для получения доп. данных у OpenID мало возможностей, зато есть стандартные протоколы (SReg, AX), а у OAuth для получения доп. данных возможностей много, но API у каждого провайдера свой.

opera.rulez 27-12-2017 06:40 0

cherepets, Всё-таки OpenID лучше. И владельцу сайта проще, потому что не нужно регистрировать каждого OpenID-провайдера, и пользователю проще (он даже может поднять OpenID на своём сервере).

29-01-2012 20:56 0

Не туда встал

1 комментарий
opera.rulez 30-01-2012 00:29 0

ELeshchev,

Да у нас новый мем! Почти вот это:
Превью клипа

Вопрос по юзабельности сайта. Ссылка для выбора стороны неудобная или это случайность? Если есть предложения, не стесняйтесь. Здесь готовы выслушать каждого.

09-06-2011 01:09 +1



В противоположность предыдущему протоколу OAuth часто сравнивают со специальным ключом для некоторых автомобилей (Valet Key), который позволяет сотруднику парковки поставить машину на место, но не угнать её.

OAuth — это ключ к моим данным с ограниченными правами доступа. Если я нажимаю на сайте кнопку «Войти через Твиттер», я предоставляю доступ к некоторым данным своего профиля Твиттера, к содержимому сообщений, к другим данным, доступным через API, но не позволяю удалить, переименовать мой аккаунт или угнать пароль.

Теперь вопрос (и к разработчикам, и к пользователям): какой из протоколов удобнее для ускоренной регистрации на сайте?

0 комментариев
29-01-2012 20:56 0

Уже туда

0 комментариев
27-12-2017 06:25 0

2017-й год. Мне удалось найти два живых публичных OpenID-провайдера: Yahoo и Blogspot.

Закрыты OpenID-провайдеры у Яндекса, Mail.ru, Гугла (не через Blogspot), ЖЖ, Liveinternet, Wordpress, myid.net, myopenid.com, oneid.ru, pip.verisignlabs.com.

Так что теперь либо поднимать OpenID на своём сервере, либо логиниться Яху или Блогспотом. Жалко юзеров, которые регистрировались на сайтах через OpenID, а теперь не могут войти в свою старую учётку.

tema.livejournal.com из плейсхолдера формы входа можно убирать. Есть идея интересного блога в Блогспоте, который можно поместить в плейсхолдер в качестве примера?

9 комментариев
Jotun 27-12-2017 10:03 0

opera.rulez, Есть идея выпилить OpenID и реализовать OAuth2 для соцсетей и всяких там Твитторов

opera.rulez 27-12-2017 11:31 0

Jotun, Можно не выпиливать OpenID, а просто спрятать кнопку подальше. Есть-пить не просит.

А всякие там Твитторы добавить можно и даже нужно. Мне немножко не нравится, как я сделал в деве, нужно чуть-чуть допилить:
1. Дать возможность при регистрации выбрать никнейм, потому что если в ВК или в ФБ нет ника, получается ерунда.
2. Дать возможность ввести е-мейл, если соцсеть его не предоставляет, чтобы пользователь мог установить пароль на случай, если соцсеть вдруг станет недоступной. Теперь недоступность соцсети — это не шанс один из миллиарда, а суровая реальность.

Jotun 27-12-2017 12:49 0

opera.rulez, Как обычно, PHP sucks, потому что на высокоуровневых фреймворках под Java/C# типа ASP.NET то, что ты описал, по большей части доступно из коробки

opera.rulez 27-12-2017 12:54 0

Jotun, В любом случае приходится делать две вещи:

1. Подгонять под нужды сайта, потому что профиль юзера на разных сайтах выглядит по-разному.

2. Подгонять под изменяющиеся внешние условия, потому что владелец соцсети может в любой момент внести изменения в протокол.

opera.rulez 27-12-2017 13:15 0

Jotun, На правах офтопика. Нашёл кучу статей об интересной уязвимости высокоуровневых фреймворков, а именно о так называемом mass assignment: en.wikipedia.org/wiki/Mass_assignment_vu...

Короче, новички массив принятых параметров тупо копируют в модель. Допустим, вход на сайт осуществляется по ссылке example.com/login . Дописываем параметр: example.com/login?user=vasya&password=12... (или в конец списка POST-параметров добавляем &role=admin). Тогда если копируются все параметры, рядовой пользователь оказывается в данной сессии админом.

Говорят, несколько сайтов сломали таким образом.

BerkutOi 27-12-2017 13:43 0

Jotun, ну оно то есть, но конфигурировать то надо все-равно

Jotun 27-12-2017 19:38 0

BerkutOi, ну да, но сделать это можно за день-два без проблем (и я даже не про полные рабочие дни)

Jotun 27-12-2017 19:39 +2

opera.rulez, уязвимость прикольная, как её применять в отношении того же ASP.NET MVC понятно, но допустить её может только человек, реально не разбирающийся в теме.

opera.rulez 28-12-2017 05:48 +1

Jotun, Вот более подробная статья: www.owasp.org/index.php/Mass_Assignment_...

но допустить её может только человек, реально не разбирающийся в теме

In 2012, GitHub was hacked using mass assignment.

Создатели Гитхаба не разбираются в теме: github.com/blog/1068-public-key-security...

И ещё на правах офтопика: habrahabr.ru/post/340066/