Pull to refresh

Когда использовать протоколы OAuth 2 и OIDC и причём тут JWT

Reading time1 min
Views1.3K

Зовём вас завтра, 9 августа, в 19:00 смотреть новый выпуск шоу Слёрма «Заходят два архитектора в бар». Андрей Кузнецов, проектировщик решений аутентификации в финтехе — сначала наш зритель, а теперь и спикер — поговорит с нами про аутентификацию, авторизацию и другие важные вещи; расскажет про ситуации, когда OAuth 2.0 и OIDC действительно полезны.

Читать далее
Total votes 9: ↑9 and ↓0+9
Comments0

Microsoft и Google отложили удаление базовой аутентификации из-за пандемии

Reading time4 min
Views5K
imageФото: wiseit.com

Microsoft объявила, что удаление Basic Authentication из Exchange Online откладывается до второй половины 2021 года из-за текущей ситуации, вызванной пандемией COVID-19.
Total votes 12: ↑8 and ↓4+4
Comments1

В Google объяснили причину глобального сбоя сервисов

Reading time2 min
Views44K
image

Google опубликовала разъяснение по поводу масштабного сбоя, который наблюдался на YouTube, в Gmail и Google Docs 14 декабря. Проблема действительно скрывалась в работе службы аутентификации. Ранее стало известно, что она связана с переполнением хранилища.
Читать дальше →
Total votes 31: ↑29 and ↓2+27
Comments62

GitLab закрыла критическую уязвимость, которая позволяла удаленно получать доступ к учетным записям пользователей

Reading time1 min
Views5.2K


По информации Bleeping Computer, GitLab закрыла критическую уязвимость CVE-2022-1162, которая позволяла удаленно получать доступ к учетным записям пользователей.
Читать дальше →
Total votes 6: ↑6 and ↓0+6
Comments1

Укрощаем протоколы доверия – OAuth авторизация с InterSystems IRIS

Reading time11 min
Views3.4K
Как разрешить компьютерам доверять друг другу в ваше отсутствие, сохраняя безопасность и приватность?



— Сухой «мартини». В большом бокале.
— Oui, monsieur. [Да, месье (фр.)]
— Секунду, еще не все. Три пальца «Гордона», один — водки, полпальца «Кины Ликлет». Хорошо взбейте в шейкере, а потом положите большую дольку лимона. Запомнили?

Ян Флеминг, «Казино Рояль», 1953 год

Часть 1. Истории про OAuth 2.0 and OpenID Connect


Универсальная и, похоже, сегодня в XXI веке всеми любимая связка открытых протоколов делегирования доступа и идентификации называется OAuth+OIDC. Лучше для массово использования пока ничего не придумали. Особенно популярны у фронтендеров, потому что гуляют поверх протоколов HTTP(S) и используют контейнер JWT (JSON Web Token). OpenID Connect использует для своей работы OAuth или, по другому говоря, OIDC является обёрткой для OAuth.

OpenID – открытый стандарт для аутентификации и создания систем цифровой идентификации не новинка для разработчиков. В этом 2019 году ему исполняется 14 лет. В нынешней третьей версии полное название OpenID Connect или короче OIDC. Популярен как в вебе и мобильной разработке, так и в корпоративных системах.
Читать дальше →
Total votes 10: ↑10 and ↓0+10
Comments3

Добавляем Refresh Token

Reading time4 min
Views127K


В прошлой статье я рассказывал про основы JWT. Если на пальцах, то это просто ключ, с помощью которого мы открываем дверь к приватным ресурсам. А что, если этот ключ украдут (точнее, сделают дубликат). Тогда кто-то еще сможет входить на сервер под вашим именем, причём мы об этом можем даже не узнать. Такого сценария мы не хотим допустить. Но что делать?

Читать дальше →
Total votes 21: ↑19 and ↓2+17
Comments26

Как мы в Parallels покоряли Sign In with Apple

Reading time3 min
Views6.7K


Думаю у многих уже после WWDC 2019 на слуху Sign In with Apple (кратко SIWA). В материале я расскажу с какими конкретно подводными камнями пришлось столкнуться при интеграции этой штукенции в наш лицензионный портал. Данная статья не совсем для тех, кто только решил разобраться с SIWA (для них я дал ряд ознакомительных ссылочек в конце текста). В этом материале, скорее всего, многие найдут ответы на вопросы, которые могут возникнуть при интеграции нового сервиса Apple.
Total votes 27: ↑26 and ↓1+25
Comments0

Обзор книги «Securing the Perimeter: Deploying Identity and Access Management with Free Open Source Software»

Reading time19 min
Views5.4K

Сегодня мы хотим поделиться литературной находкой, напрямую относящейся к нашей предметной области.

Тема Identity and Access Management на данный момент является достаточно закрытой, что создает проблемы для нас, в первую очередь, с подбором высококвалифицированных специалистов от ведущего разработчика до РП и архитектора. Подготовка же таких специалистов, перешедших из другой предметной области, занимает немало времени. Не меньшей проблемой является настороженное отношение к данной сфере многих заказчиков, не понимающих «зачем нам это все», если есть нормальная доменная инфраструктура. Несмотря на то, что автор книги ориентирует читателя на создание IAM-инфраструктуры на базе OSS и приводит примеры конкретных решений, основная ценность книги, на наш взгляд, заключается в систематизации области, классов продуктов, предназначенных для решения задач в области идентификации, аутентификации и управления доступом, а так же в доступном описании открытых стандартов и технологий, собранном в одном месте и разложенном по полочкам.
Читать дальше →
Total votes 7: ↑7 and ↓0+7
Comments0

OpenID Connect: авторизация внутренних приложений от самописных к стандарту

Reading time7 min
Views13K
Несколько месяцев назад я занимался реализацией OpenID Connect сервера для управления доступом сотен наших внутренних приложений. От собственных наработок, удобных на меньших масштабах, мы перешли к общепринятому стандарту. Доступ через центральный сервис значительно упрощает монотонные операции, сокращает затраты на реализацию авторизаций, позволяет находить много готовых решений и не ломать голову при разработке новых. В этой статье я расскажу об этом переходе и о шишках, которые мы успели набить.

intro
Читать дальше →
Total votes 6: ↑6 and ↓0+6
Comments3

Иллюстрированное руководство по OAuth и OpenID Connect

Reading time7 min
Views79K
Прим. перев.: В этом замечательном материале компании Okta просто и наглядно рассказывается о принципах работы OAuth и OIDC (OpenID Connect). Эти знания будут полезны разработчикам, системным администраторам и даже «обычным пользователям» популярных веб-приложений, которые скорее всего тоже обмениваются конфиденциальными данными с другими сервисами.

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


«Предоставьте свою банковскую учётку». — «Обещаем, что с паролем и деньгами все будет в порядке. Вот прям честно-пречестно!» *хи-хи*

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

Сегодня имеется единый стандарт, позволяющий одному сервису безопасно воспользоваться данными другого. К сожалению, подобные стандарты используют массу жаргонизмов и терминов, что усложняет их понимание. Цель этого материала — с помощью простых иллюстраций объяснить, как они работают (Думаете, что мои рисунки напоминают детскую мазню? Ну и ладно!).

Total votes 42: ↑40 and ↓2+38
Comments3

Использование OAuth и API VK в Go

Reading time3 min
Views12K
Сегодняшняя статья будет посвящена разработке программы на Go, использующей API vk.com для авторизации и загрузки данных о пользователе.

Сейчас найти современный сервис, который бы не использовал авторизацию по OAuth практически невозможно. Существует большое количество сценариев использования этого протокола. Попробуем же написать простой клиент для работы с этой технологией на Go.
Читать дальше →
Total votes 4: ↑4 and ↓0+4
Comments3

OAuth в мобильных приложениях

Reading time18 min
Views29K

Привет! Меня зовут Максим, я занимаюсь мобильной разработкой в KTS.

Ни один сервис не обходится без логина. Часто в мобильных приложениях требуется интегрировать вход через сторонние соцсети — например, зайти через Google или VK. А при обучении мобильной разработке используются открытые API, где для авторизации используется OAuth.

Поэтому разработчикам мобильных приложений приходится работать с OAuth. В сети по этой теме есть разрозненные материалы. 

Этой статьей я попробую закрыть нюансы OAuth в мобильных приложениях: на какие моменты стоит обратить внимание, какие способы реализации выбрать. А также поделюсь опытом настройки OAuth в Android-приложении с использованием библиотеки AppAuth.

Читать далее
Total votes 14: ↑14 and ↓0+14
Comments0

Использование OAuth в интеграции API с помощью Python, REST и HL7 FHIR

Reading time4 min
Views2.3K

Всем привет! Поделюсь с вами знаниями по OAuth для интеграции систем через API. Расскажу вам, как это можно сделать на Python с бэкенд-системами, использующими REST и HL7 FHIR.

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

В этом случае OAuth может стать хорошим выбором. В этой статье показано, как его можно применять в Python при работе с бэкенд-системами, используя REST и HL7 FHIR.

Что бы нам хотелось получить

Допустим, у нас есть типичный вариант интеграции, как показано на схеме ниже.

Читать далее
Total votes 3: ↑2 and ↓1+1
Comments1

Почему работать с OAuth сложно даже сегодня?

Level of difficultyMedium
Reading time10 min
Views20K

OAuth — это стандартный протокол. Ведь так? И для OAuth 2.0 есть клиентские библиотеки практически на всех языках программирования, которые можно представить.

Вероятно, вы подумаете, что имея клиентскую библиотеку, можно реализовать OAuth для любого API буквально за десять минут. Или хотя бы за час.

Если вам это удастся, то, пожалуйста, сообщите об этом нам — мы угостим вас изысканным ужином и послушаем, как у вас это получилось.
Читать дальше →
Total votes 67: ↑66 and ↓1+65
Comments16

Использование Spring Cloud Gateway в качестве OAuth2 клиента  и KeyCloak для защиты служб

Reading time12 min
Views9.9K

Привет, Хабр!

Я, начинающий Java-разработчик, студент 3 курса, и это - моя первая статья здесь. Я не буду заострять внимание на теории, так как в интернете достаточно статей на эту тему, а сосредоточусь на практике и предложу свое решение. В процессе мы создадим несколько служб, а именно...

Читать далее
Total votes 9: ↑7 and ↓2+5
Comments4

Как эволюционировали уязвимости в приложениях для Android

Level of difficultyEasy
Reading time12 min
Views3.7K

История развития приложений для Android прошла несколько заметных этапов. Были небольшие приложения, работающие локально, клиент-серверные приложения, экосистемы приложений и, наконец, суперапы (super-app). Каждый из этих этапов повышал планку сложности, порождал новые уязвимости и заставлял разработчиков все больше заботиться о безопасности как самих приложений, так и данных, которыми они оперируют. Развивалась и сама операционная система — она давала разработчикам больше возможностей и механизмов обеспечения безопасности.

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

Читать
Total votes 7: ↑6 and ↓1+5
Comments1

Настройка OAuth2/OIDC федерации в OpenAM

Level of difficultyMedium
Reading time5 min
Views394

В данном руководстве мы настроим федерацию между двумя инстансами OpenAM по протоколу OAuth2/OIDC. Один инстанс будет являться OAuth2/OIDC сервером (Identity Provider), другой - клиентом (Service Provider). Таким образом, вы можете аутентифицироваться в клиентском инстансе OpenAM (SP) используя учетные данные инстанса OpenAM (IdP) по протоколу OAuth2/OIDC.

Читать далее
Total votes 2: ↑2 and ↓0+2
Comments0

Отказ от стандартной авторизации в пользу социальной

Reading time3 min
Views23K
Уже достаточно давно многие сайты предоставляют наряду со стандартной авторизацией, авторизацию через социальные сети и веб-сервисы. Перед вами стоит выбор:

  1. Пройти относительно длинный путь регистрации — ввод email/пароля/капчи и активация по email.
  2. Просто нажать на иконку социальной сети, в которой у вас заведён аккаунт, и подтвердить доступ.

А почему бы вообще не отказаться от стандартного механизма регистрации?
Читать дальше →
Total votes 37: ↑18 and ↓19-1
Comments46

Authomatic: python библиотека для аутентификации и авторизации

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

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

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

Согласно документации Authomatic обладает следующими замечательными особенностями:
Читать дальше →
Total votes 34: ↑31 and ↓3+28
Comments7

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

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


Оказалось, что во время регистрации аккаунта несколько лет назад LinkedIn хитростью заставил меня импортировать адресную книгу. Если бы они использовали её содержимое только для предложения контактов на LinkedIn, может, я бы не возражал, но они пошли дальше. На странице «Люди, которых вы можете знать» LinkedIn вставил несколько кнопок для приглашения контактов из адресной книги на LinkedIn и сделал эти кнопки в таком стиле, как будто эти люди уже на LinkedIn и я могу связаться с ними. Отличие между этими двумя видами кнопок было ничтожным. В результате я отправлял эти спамерские письма, думая что отправляю запрос на добавление в друзья внутри социальной сети.
Читать дальше →
Total votes 61: ↑54 and ↓7+47
Comments37