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

Security Week 46: обход OAuth 2.0, низковольтный ICMP DDoS, приватность iOS и обход локскрина - 1Давно у нас не было научных работ по теме безопасности, и вот, пожалуйста. На европейской конференции BlackHat EU исследователи из университета Гонконга показали примеры некорректной реализации протокола OAuth 2.0, которые, в ряде случаев, позволяют украсть учетные записи пользователей. Так как речь действительно идет о научном исследовании, то и терминология соответствующая — без всяких этих «ААААА!1 Один миллиард учеток можно легко взломать через OAuth 2.0». Впрочем нет, oh wait, примерно так работа и называется (новость и само исследование).

Как бы то ни было, проблема, обнаруженная исследователями, заключается не в самом OAuth, а в его конкретных реализациях. Необходимость внедрять системы Single-Sign-On не только для веба, но и для мобильных приложений (принадлежащих не только владельцам сервисов идентификации типа Facebook и Google, но и третьей стороне) привела к тому, что стандарт OAuth 2.0 начали надстраивать кто во что горазд, не всегда соблюдая методы безопасности.

В результате авторизация пользователя местами происходит как попало: в исследовании описывается ситуация, когда авторизоваться от имени другого пользователя можно, зная только его логин (обычно это e-mail). Впрочем, описываемые сценарии атаки предусматривают наличие позиции man-in-the-middle, и возможны не всегда. Из обнаруженных в ходе исследования проблемных приложений большинство работает с китайским identity provider Sina, а из 99 исследованных аппов, поддерживающих OAuth через Google и Facebook атаке подвержены всего 17. Решить проблему можно на стороне провайдеров: если доверять данным только от самого сервера идентификации, и не доверять данным от приложения (которые могут быть подделаны по пути), то элегантный хак работать не будет.
Читать полностью »

Итак, цель данной статьи — показать, как работать с OAuth 2.0 на примере авторизации через Azure AD API. В итоге у нас получится полноценный модуль, выносящий максимально возможное количество кода из проекта, к которому он будет подключен.

В данной статье будут использованы библиотеки Retrofit, rxJava, retrolambda. Их использование обусловлено лишь моим желанием минимизировать бойлерплейт, и ничем больше. А потому сложностей по переводу на полностью ванильную сборку быть не должно.

Первое, что нам нужно будет сделать — осознать, что представляет собой протокол авторизации OAuth 2.0 (в данном случае будет использоваться исключительно code flow) и как это будет выглядеть применительно к нашей цели:

1. Если есть кэшированный токен, перепрыгиваем на пункт 4.

2. Инициализируем 'WebView', в котором откроем страницу авторизации нашего приложения.

3. После ввода данных пользователем и клика по Sign in, будет автоматический редирект на другую страницу, в query parameters которой имеется параметр code. Он то нам и нужен!

4. Обмениваем code на токен через POST запрос.
Читать полностью »

Медленно, но неотвратимо наступает смена решений SSO на основе SAML на решения OpenID стека. С недавних пор компания Google реализовала поддержку OpenID Connect протокола на своих серверах. Насколько он может быть приемлем для Вашего проекта и как с ним работать, оценить по спецификации протокола довольно трудно. Немного облегчить это решение должна статья одного из авторов спецификации в своём блоге, перевод которой я и предоставляю аудитории хабра. В целях упростить понимание, некоторые моменты были добавлены от себя, таким образом, чтобы не приходилось обязательно читать ссылки на используемые технологии, но ознакомится с некоторыми из них всё же я рекомендую.

Когда вы читаете спецификацию по OpenID Connect, вы можете испытывать довольно неприятные чувства от лёгкой испуганности до полнейшего разочарования. Всё это происходит потому, что они написаны на “сухом” языке спецификации, и по большей части они описывают граничные случаи, исключения и т.д. Тем не менее, когда вы переводите их на нормальный человеческий язык и переключаетесь на конкретные случаи, всё становится довольно очевидно. Итак, давайте приступим! (Ремарочка: большая часть текста совпадает с первоначальным предложением, написанным Дэвидом Рекордоном. В основном, мои правки затронули лишь некоторые из имен параметров и другие мелочи)

Читать полностью »

Привет. В этой статье я кратко расскажу о деталях реализации микросервисной архитектуры с использованием инструментов, которые предоставляет Spring Cloud на примере простого концепт-пруф приложения.

Микросервисная архитектура, Spring Cloud и Docker - 1

Код доступен для ознакомления на гитхабе. Образы опубликованы на докерхабе, весь зоопарк стартует одной командой.Читать полностью »

Общая информация по JWT потоку OAuth

OAuth с использованием JWT на salesforce - 1

JSON Web Token (JWT, произносится как английское слово jot) это зашифрованный JSON секюрити токен (security token), который делает возможной идентификацию и предоставление защищенного доступа к информации со стороннего домена.
Читать полностью »

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

В этом туториале я покажу, как можно сделать простейший клиент коба на Ruby on Rails. Приложение позволяет залогиниться через коб и сгенерить такой коб с любым текстом:

Рабочая версия этого приложения лежит по адресу fantozzi.dev2.workisfun.ru, код приложения из этого туториала можно посмотреть на Гитхабе: github.com/igorgladkoborodov/memegenerator
Читать полностью »

Xamarin — очень многообещающей продукт, который помогает вести кроссплатформенную разработку на Android и iOS на языке C#. На мой взгляд, незаслуженно упускаемый из виду сообществом мобильных разработчиков. Язык C# можно легко заменить на F#, а в качестве платформ взять еще и OSX, и Windows Phone. В общем, возможностей и перспектив масса, самых интересных.

Авторизация и использование VK.com API в Xamarin.Android - 1

Это уже третья моя статья на хабре, посвященная Xamarin. В ней мы разработаем простое, но наглядное приложение (в жанре Hello Word) с использованием VK.com API. Как обычно, исходники выложены на GitHub и приведены в конце статьи.

Итак, в чем, собственно, принципиальная разница для задач, с которыми придется столкнуться разработчику, создающему native-приложение Android, поддерживающее VK.com, и разработчику, решающему ту же самую задачу с Xamarin?
Читать полностью »

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

Магия авторизации происходит строго по протоколу OAuth 1.0а и OAuth 2.0 и значительно упрощает жизнь и владельцу веб-приложения и самому пользователю.

Остается сущая мелочь, реализовать нужный протокол применительно к конкретному веб-приложению. Регистрация и вход в веб сервис TheOnlyPage с использованием учетных записей Facebook, Google, LinkedIn и Microsoft Live работают благодаря python библиотеке Authomatic.

Согласно документации Authomatic обладает следующими замечательными особенностями:
Читать полностью »

Недавно мне захотелось создать личный проект на андроиде, и основной вопрос был такой: как однозначно идентифицировать пользователя заставляя его делать как можно меньше телодвижений? Конечно же это аккаунт Google. Я пытался пробовать множество примеров в сети — однако API несколько раз обновилось за время своего существования, многие методы не работали, мои вопросы в Google+ по этому поводу либо были вообще никак не восприняты окружением, либо были вроде «Никогда такое не делал».
В этой статье я постараюсь как можно более просто для новичков (вроде меня) описать мой метод авторизации в Google на андроид, получения токена и проверке этого самого токена на сервере.Читать полностью »

После нашего первого анонса на Хабре к нам пришло много новых пользователей из России и одна из самых часто запрашиваемых фич была — поддержка Вконтакте. Почему нет, ведь пользователей сети Вконтакте очень много и наконец с «лайками» из этой соц. сети можно сделать что-то полезное для работы.

У нас уже накопился приличный опыт интеграции с различными API: Twitter, Facebook, Github, Behance и т.д. плюс у нас уже выделился некий boilerplate код, с помощью которого новые интреграции делаются в кратчайшие сроки. Поставив себе цель, порадовать наших пользователей на этой неделе, я вынуждуен признать — это оказалось невыполнимой задачей.

Про причины и то, каким недостатком обладает Вконтакте API, читаем далее.
Читать полностью »


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