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

В декабре 2013 года я удалил свой аккаунт LinkedIn. Как я повторял в эмоциональном посте на Facebook, выяснилось, что я рассылаю друзьям назойливые письма «Дэн Шлоссер пригласил вас присоединиться к LinkedIn». Смущённый, я потратил несколько часов, копаясь в настройках и меню LinkedIn в поисках причины.

Тёмные паттерны LinkedIn или Почему вам спамят друзья, призывая зарегистрироваться в LinkedIn - 1

Оказалось, что во время регистрации аккаунта несколько лет назад LinkedIn хитростью заставил меня импортировать адресную книгу. Если бы они использовали её содержимое только для предложения контактов на LinkedIn, может, я бы не возражал, но они пошли дальше. На странице «Люди, которых вы можете знать» LinkedIn вставил несколько кнопок для приглашения контактов из адресной книги на LinkedIn и сделал эти кнопки в таком стиле, как будто эти люди уже на LinkedIn и я могу связаться с ними. Отличие между этими двумя видами кнопок было ничтожным. В результате я отправлял эти спамерские письма, думая что отправляю запрос на добавление в друзья внутри социальной сети.
Читать полностью »

Security Week 19: Windows Defender запускает чужой код, в HandBrake сидел троянец, фишеры атаковали пользовалей Gmail - 1Весна выдалась щедрой на дыры апокалиптического масштаба, причем в самых неожиданных местах. В этот раз это не смартфон, и не роутер, а гораздо хуже – Microsoft Malware Protection Engine. Этот компонент используется Windows Defender и по умолчанию включен в Windows 8, 8.1, 10, а также в Windows Server 2016

В этот раз отличился Google: исследователи из Google Project Zero Тэвис Орманди и Натали Силванович нашли ‘crazy bad’ уязвимость. Орманди поспешил твитнуть об этом, выразившись, что это худшая уязвимость удаленного запуска кода в Windows за последнее время – и, конечно же, сгенерил этим массу сенсационных заголовков. Разработчики из Microsoft кинулись закрывать дыру, как матросы на штурм Зимнего, и спустя три дня патч был готов. Орманди, мужественно державший все подробности при себе, облегченно разразился багрепортом.
Читать полностью »

image

«В API ВКонтакте для получения ключа доступа используется открытый протокол OAuth 2.0. При этом пользователь не передает логин и пароль приложению, поэтому его аккаунт не может быть скомпрометирован»документация VK API.

«ОАuth — это открытый протокол, предоставляющий простой и безопасный способ авторизации для мобильных, десктопных и веб приложений» — вольный перевод слогана oauth.net.

К сожалению, во многих случаях эти утверждения являются ложными. О том как сделать работу через OAuth более безопасной, как с точки зрения конечного пользователя, так и при реализации собственного OAuth провайдера — читайте под катом. Будут рассмотрены такие аспекты безопасности, которым на текущий момент уделено незаслуженно мало внимания в открытых публикациях.

Материал насыщен специфической терминологией и рассчитан на подготовленного читателя.
Читать полностью »

Зачем нужен Refresh Token, если есть Access Token? - 1Недавно мы в Voximplant улучшали авторизацию в SDK. Посмотрев на результаты, я несколько опечалился, что вместо простого и понятного токена их стало две штуки: access token и refresh token. Которые мало того что надо регулярно обновлять, так еще документировать и объяснять в обучающих материалах. Помня, что в OAuth два токена нужны в основном из-за разных сервисов, на которых они используются (даже вопрос на stackoverflow есть), а у нас такой сервис один, я несколько офигел и пошел на второй этаж вытрясать души из разработчиков. Ответ получился неожиданным. Его нет на stackoverflow. Зато он есть под катом.
Читать полностью »

Новости об очередных взломах базах данных и угонах паролей или хэшей появляются с пугающей регулярностью, причём даже от таких гигантов, как ВК и Yahoo. Но и пользователи Facebook и Google не могут быть уверены в своей безопасности, потому что суть проблемы не во взломах как таковых, а в централизованном хранении пользовательских данных, включая пароли или хеши паролей, по которым их можно довольно успешно восстановить.

В прошлом году мы уже писали о первой в мире децентрализованной системе управления цифровыми ключами на основе блокчейна Emercoin: emcSSL. Её архитектура аутентификации не раскрывает секрет пользователя в процессе аутентификации серверу и использует децентрализованное хранение учётных записей.

Authorizer: децентрализованная авторизация emcSSL заработает с oAuth 2.0 - 1

В теории это отличный способ обезопасить учётные данные пользователей любого сервиса, но на практике внедрение emcSSL требует участия квалифицированного программиста и содержит ряд неудобств с точки зрения юзера. Поэтому наш сегодняшний анонс можно считать новогодним подарком HashCoins всему миру: мы практически закончили работу над сервисом Authorizer, который позволяет подключить emcSSL через oAuth 2.0.
Читать полностью »

Security Week 51-52: Нестандартный топ новостей 2016 - 1Ну вот опять, никто не ожидал, а год внезапно закончился. Пора подводить итоги, и уже третий год подряд я предпочитаю делать это нестандартно. Единственным критерием для отбора новости в топ является ее популярность на новостном сайте Threatpost. Да, это не самый объективный способ оценки важности того или иного события. Но и не самый плохой: аудитория Threatpost обычно игнорирует откровенную политоту и уделяет немало внимания событиям, на которые нужно реагировать либо вот прямо сейчас, либо тем, что стоит запомнить на будущее.

Напомню, в обзоре за 2015 год у нас были уязвимости в интернете вещей (ну ладно, в роутерах), шифрование данных, серьезная уязвимость Stagefright в Android и дыра в GLIBC, а также сложносочиненные атаки — Carbanak и The Equation. В 2014-м: уязвимость POODLE в SSLv3, Shellshock и Heartbleed и, внезапно, стеганография PNG-картинками.

В этом году «пятерка» популярных новостей выглядит отчасти похоже: дело Apple против ФБР, дыры в GLIBC (опять!) и в ядре Linux, проблемы с OAuth и вопросы генерации надежных случайных чисел из ненадежных источников.
Читать полностью »

image
Авторизация через соцсети это одна из самих частых задач с которыми сталкиваются разработчики развлекательных сайтов. Казалось бы там и делать нечего, ведь для каждого API существует PHP библиотека от самого вендора. Но что делать если надо подключить сразу несколько? Не хочется тянуть в проект кучу библиотек которые имплементируют один и тот же протокол OAuth, к тому же хотелось бы иметь какой-то единый интерфейс. PHPixie Social — маленькая библиотека с только одной зависимостью, которая позволяет легко работать сразу с Facebook, Twitter, Google и Вконтакте, а если вы используете PHPixie фреймворк то также сразу получаете авторизацию всего в несколько строчек кода.
Но сначала рассмотрим компонент сам по себе.

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

OAuth-авторизация в Mozilla Thunderbird: от зарождения до релиза - 1

Некоторое время назад мы рассказывали о том, как в Mail.Ru реализован сбор почты с использованием протокола OAuth 2.0. Мы продолжаем повышать безопасность почты и продвигать стандарт OAuth 2.0 в массы. И сегодня расскажем о том, как мы добавили OAuth-авторизацию в почтовый клиент Mozilla Thunderbird. На этом примере мы разберем процесс внесения новой фичи в продукт с открытым исходным кодом, от создания тикета до релиза. Если вы давно хотели сделать свой первый pull request, но не знали как, — читайте нашу историю.

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

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

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

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

image

Именно этой фразой нас приветствует библиотека для работы с OAuth — ScribeJava (https://github.com/scribejava/scribejava). Если быть точнее, то фраза звучит так: “Who said OAuth/OAuth2 was difficult? Configuring ScribeJava is so easy your grandma can do it! check it out:”.

И это действительно похоже на правду:

OAuth20Service service = new ServiceBuilder().apiKey(clientId).apiSecret(clientSecret)
    .callback("http://your.site.com/callback").grantType("authorization_code").build(HHApi.instance());
String authorizationUrl = service.getAuthorizationUrl();
OAuth2AccessToken accessToken = service.getAccessToken(code);

Готово! Этих трех строчек достаточно, чтобы начать делать OAuth запросы. А сам OAuth запрос можно будет сделать так:

OAuthRequest request = new OAuthRequest(Verb.GET, "https://api.hh.ru/me", service);
service.signRequest(accessToken, request);
String response = request.send().getBody();

Данные о пользователе у нас в руках (в переменной response). И ни капли понимания, как в деталях работает OAuth. Хотим асинхронные http-запросы? Нам хватит тех же трех строчек. Ниже рассмотрим это на примере.
Читать полностью »


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