Рубрика «oauth 2.0» - 3

Single sign on на omniauth и rails
Аутентификация пользователей в экосистемах наподобие Google или Envato реализована в виде отдельных сервисов (accounts.google.com, account.envato.com), предоставляющих необходимые данные и токены сайтам-клиентам. В ходе разработки некоторых проектов на Ruby on Rails мне и пришлось столкнуться с подобной задачей. По-научному — single sign-on или технология единого входа.

Нужен был (1) общий сервис для всех сайтов экосистемы, с (2) преимущественно социальной авторизацией, в угоду входу по связке «логин+пароль».
Сервис, (3) аккумулирующий в себе данные из тех социальных сервисов, с помощью которых пользователь входит в систему, и (4) предоставляющий эти данные сайтам-клиентам.

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

Devise в моем случае подходил мало (завязка на логине+пароле), поэтому предпочтение было полностью отдано omniauth. С этого и началось мое маленькое приключение, о ходе которого предлагаю вам ознакомиться в данной статье.
Читать полностью »

Про вред от паролей при аутентификации пользователей сайта и вход через социальные сети написано уже много. Но в основном это касается либо теоретических рассуждений, либо каких-то аспектов интеграции модуля на PHP в одну из CMS.

Я предлагаю вашему вниманию пример организации аутентификации пользователей сетей ВКонтакте, Facebook, Мой Мир, Яндекс, Одноклассники, Google, Twitter, LinkedIn средствами JSF2. Это полностью авторская разработка, охватывающая наиболее популярных OAuth провайдеров рунета. Написана без использования сторонних библиотек, сервлетов, jsp и спрингов — только JSF2 и CDI.
Читать полностью »

Редактор OAuth 2.0 попросил вычеркнуть своё имя из спецификаций

Эран Хаммер (Eran Hammer), один из авторов спецификаций OAuth 1.0, а также действующий редактор создающегося стандарта OAuth 2.0, объявил об уходе с поста после трёх лет работы над новым стандартом, и попросил вычеркнуть своё имя из спецификаций.

В личном блоге специалист объяснил причины такого поступка. Если в двух словах, то OAuth 2.0 после обработки в IETF превратился в плохой стандарт. «Он плох настолько, что я больше не хочу, чтобы моё имя ассоциировалось с ним», — пишет Эран Хаммер, хотя и отмечает, что после трёх лет упорной работы это решение далось ему нелегко. Обсуждение нового стандарта в IETF привело к множеству компромиссов, в результате чего появились спецификации, которые не удовлетворяют двум основным принципам — совместимости и безопасности. Так, одним из компромиссов стало переименование протокола во фреймворк, а ещё одним компромиссом — добавление заявления, что спецификации вряд ли способны обеспечить совместимые реализации. Даже пример Facebook показывает, что разработчики игнорируют важные части OAuth 2.0, и это при том, что в Facebook реализацией этой технологии занимается один из авторов спецификаций.
Читать полностью »

Документация по API на сайте flickr.com устарела. Уже давно появилась возможность авторизироваться через oAuth 2.0, но на сайте нет ни нормального описание, ни примеров работы с API после авторизации.

Авторизация на Flickr происходит в три этапа:

1. Получение oauth_token и oauth_token_secret. На первом шаге oauth_token это request_token.
2. Авторизация приложения в профиле пользователя.
3. Получения oauth_token и oauth_token_secret. На третьем шаге oauth_token это access_token.
Читать полностью »

Всем привет!
На хабре уже была статья от Nodge про авторизацию на различных сервисах, в том числе и Mail.ru. Но она была для Yii и в ней детально не описывался сам процесс. Так же была статья от propovednik, но в ней описывался процесс авторизации через javascript + php. В этой статье я бы хотел детально разобрать серверный метод авторизации. Для авторизации будет использован PHP и модель сервер-сервер.
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js