При необходимости передачи данных пользователя сторонним приложениям надо как-то решать вопрос доступа - как предоставлять доступ к данным, не передавая стороннему приложения учётные данные пользователя - логин, пароль и т.д. И основным способом решения этого вопроса является фреймворк авторизации OAuth, который добавляет в эту схему сервер авторизации, а так же описывает сценарии взаимодействия между участниками для безопасного предоставления доступа сторонним приложениям к пользовательским данным.
OpenID Connect - это слой идентификации и аутентификации, разработанный на основе OAuth и совместимый с ним. OIDC вводит идентификационный токен (ID Token), специфичные области применения (scope) ключей доступа, JWT и дополнительные эндпоинты. Спецификация OAuth довольно абстрактна, а OIDC - более конкретна, поэтому я в данном ролике рассматриваю OAuth именно на примере OIDC.
В этом ролике я рассказываю об основах OAuth и OIDC: ролях, ключах доступа, клиентах, областях применения ключей доступа и способах предоставления доступа к защищённым ресурсам.
00:01:12 Пример без OAuth
00:04:55 Теория OAuth и OpenID Connect
00:20:52 Способы предоставления полномочий (Grant)
00:24:36 Authorization Code Grant
00:35:45 PKCE - Proof Key for Code Exchange
00:42:14 Hybrid Flow (OIDC)
00:46:07 Implicit Grant
00:49:47 Resource Owner Password Credentials Grant
00:52:51 Client Credentials Grant
00:56:07 Device Authorization Grant
01:04:24 Выводы по способам предоставления полномочий
OAuth 2.0 RFC 6749 https://datatracker.ietf.org/doc/html/rfc6749
OpenID Connect 1.0 Core https://openid.net/specs/openid-connect-core-1_0.html
PKCE RFC 7636 https://datatracker.ietf.org/doc/html/rfc7636
OAuth 2.0 Device Authorization Grant RFC 8628 https://datatracker.ietf.org/doc/html/rfc8628
#oauth #oidc #openidconnect
Мой сайт: https://alexkosarev.name/
Паблик в VK: https://vk.com/public218833461
Канал в Telegram: https://t.me/+TZCuO38vG3oqu_Jq
Стать доном: https://vk.com/donut/shurik.codes
Донаты в Boosty: https://boosty.to/akosarev/purchase/1451735
Донаты в Tinkoff: https://www.tinkoff.ru/cf/4PEOiVCZQuS