SlideShare una empresa de Scribd logo
1 de 20
Descargar para leer sin conexión
OAuth 2 и OpenID Connect простыми и понятными словами
Yurii Yudkin


Front-end developer
О себе
Юрий Юдкин
Более 6 лет опыта в front-end разработке
Front-end разработчик в компании DataArt
Пример простой аутентификации
Форма аутентификации
DB
Set-Cookie: sessionId=219ffwef9w0f;
• Безопасность


• Поддержка
Форма аутентификации - недостатки
OAuth 2 - протокол авторизации
Делегированнaя авторизация
• Resource owner - Вы! Вы являетесь владельцем вашей личности, ваших данных и любых действий, которые могут
быть выполнены с вашими учетными записями.


• Client - приложение которое хочет получить доступ к данным или выполнять действия от имени Resource Owner.


• Authorization server - приложение, которое знает Resource owner, где у Resource owner уже есть учетная запись.


• Resource server - API сервер, который Client может использовать от имени Resource Owner.


• Redirect URI - URL-адрес, на который сервер авторизации перенаправит владельца ресурса обратно после
предоставления разрешения клиенту. Иногда это называют “Callback URL”.


• Response Type - тип информации, которую ожидает получить Client. Наиболее распространенный тип ответа -
это код, в котором Client ожидает код авторизации.


• Authorization Code - недолговечный временный код, который Client предоставляет серверу авторизации в обмен на
токен доступа.


• Access Token - ключ, который Client будет использовать для связи с Resource Server.
OAuth 2 терминология
Делегированная авторизация OAuth 2
Client
Resource owner
Go to Authorization server
Redirect URI: get_rich_or_die/callback
Response Type: Code
Authorization server
Back to redirect url
with authorization token
Exchange authorization token for access code
• Scope - перечень того, куда клиент хочет получить доступ, например доступ к
данным или выполнение действий.


• Consent - согласие Resource owner на предоставление доступа клиенту на
данные или действия указанные в scope.
Еще немного OAuth 2 терминологии
Делегированная авторизация OAuth 2
Client
Resource owner
Go to Authorization server
Scope: profile
Redirect URI: get_rich_or_die/callback
Response Type: Code
Authorization server
Back to redirect url
with authorization token
Exchange authorization token for access code
OAuth 2 и OpenID Connect
• OpenID Authentication


• OAuth 2.0 Authorization
OpenID
OAuth 2.0
HTTP
OpenID Connect - протокол аутентификации
OpenID Connect authorization code flow
Client
Resource owner
Go to Authorization server
Redirect URI: get_rich_or_die/callback
Scope: profile openid
Response Type: Code
Authorization server
Back to redirect url
with authorization token
Exchange authorization token for access code
and ID token.
Выводы
Используйте OAuth 2:


• Предоставления доступа к API


• Получения доступа к данным пользователя
в других системах
OAuth 2 и OpenID Connect
Используйте OpenID:


• Для аутентификацией пользователя
https://developer.okta.com/ - это компания предоставляет услуги по управлению
идентификацией и доступом.




https://oauth.net/ - сайт с официальной документацией и спецификацией по OAuth протоколу.


https://openid.net/ - сайт с официальной документацией и спецификацией по OpenID
протоколу.
Полезные источники
Вопросы?
Yurii Yudkin


telegram: @you_are_great25


LinkedIn: https://www.linkedin.com/in/yurii-yudkin
Спасибо за внимание!

Más contenido relacionado

Similar a OAuth2 и OpenID Connect простым языком | Odessa Frontend Meetup #17

OAuth 2.0 refresher (russian)
OAuth 2.0   refresher (russian)OAuth 2.0   refresher (russian)
OAuth 2.0 refresher (russian)marcwan
 
Олег Крут (DataArt) "Что такое интернет вещей и как с ним работать"
Олег Крут (DataArt) "Что такое интернет вещей и как с ним работать"Олег Крут (DataArt) "Что такое интернет вещей и как с ним работать"
Олег Крут (DataArt) "Что такое интернет вещей и как с ним работать"DataArt
 
Работа с соцсетями (Lecture 19 – social)
Работа с соцсетями (Lecture 19 – social)Работа с соцсетями (Lecture 19 – social)
Работа с соцсетями (Lecture 19 – social)Noveo
 
Как переехать с http на https: пошаговая инструкция
Как переехать с http на https: пошаговая инструкцияКак переехать с http на https: пошаговая инструкция
Как переехать с http на https: пошаговая инструкция1PS.RU
 
Авторизация
АвторизацияАвторизация
АвторизацияPutinTheJew
 
OAuthоризация и API социальных сетей
OAuthоризация и API социальных сетейOAuthоризация и API социальных сетей
OAuthоризация и API социальных сетейАртём Курапов
 
15 - Web-технологии. Сессии и авторизация
15 - Web-технологии. Сессии и авторизация15 - Web-технологии. Сессии и авторизация
15 - Web-технологии. Сессии и авторизацияRoman Brovko
 
Lesson1
Lesson1Lesson1
Lesson1jinol
 
ZFConf 2011: Создание REST-API для сторонних разработчиков и мобильных устрой...
ZFConf 2011: Создание REST-API для сторонних разработчиков и мобильных устрой...ZFConf 2011: Создание REST-API для сторонних разработчиков и мобильных устрой...
ZFConf 2011: Создание REST-API для сторонних разработчиков и мобильных устрой...ZFConf Conference
 
Мировые информационные ресурсы. Лекция 3
Мировые информационные ресурсы. Лекция 3Мировые информационные ресурсы. Лекция 3
Мировые информационные ресурсы. Лекция 3Dmitriy Krukov
 
Stas Sultanov "REST again? Oh, come on!"
Stas Sultanov "REST again? Oh, come on!"Stas Sultanov "REST again? Oh, come on!"
Stas Sultanov "REST again? Oh, come on!"Fwdays
 
Сам себе АНБ, API социальных сетей
Сам себе АНБ, API социальных сетейСам себе АНБ, API социальных сетей
Сам себе АНБ, API социальных сетейOpen-IT
 
Управление доступом к web-приложениям (Oracle)
Управление доступом к web-приложениям (Oracle)Управление доступом к web-приложениям (Oracle)
Управление доступом к web-приложениям (Oracle)КРОК
 
Dv w2k-sec-concepts
Dv w2k-sec-conceptsDv w2k-sec-concepts
Dv w2k-sec-conceptstrenders
 
Кулинарный мастер-класс "Готовим безопасный офис нового поколения на основе C...
Кулинарный мастер-класс "Готовим безопасный офис нового поколения на основе C...Кулинарный мастер-класс "Готовим безопасный офис нового поколения на основе C...
Кулинарный мастер-класс "Готовим безопасный офис нового поколения на основе C...Cisco Russia
 
Android - 15 - Social
Android - 15 - SocialAndroid - 15 - Social
Android - 15 - SocialNoveo
 
Разработка RESTful api with all bells and whistles
Разработка RESTful api with all bells and whistlesРазработка RESTful api with all bells and whistles
Разработка RESTful api with all bells and whistlesYandex
 
Роман Акинфеев «Разработка RESTful API with all bells and whistles»
Роман Акинфеев «Разработка RESTful API with all bells and whistles»Роман Акинфеев «Разработка RESTful API with all bells and whistles»
Роман Акинфеев «Разработка RESTful API with all bells and whistles»DevDay
 

Similar a OAuth2 и OpenID Connect простым языком | Odessa Frontend Meetup #17 (20)

OAuth 2.0 refresher (russian)
OAuth 2.0   refresher (russian)OAuth 2.0   refresher (russian)
OAuth 2.0 refresher (russian)
 
Олег Крут (DataArt) "Что такое интернет вещей и как с ним работать"
Олег Крут (DataArt) "Что такое интернет вещей и как с ним работать"Олег Крут (DataArt) "Что такое интернет вещей и как с ним работать"
Олег Крут (DataArt) "Что такое интернет вещей и как с ним работать"
 
Api.tech
Api.techApi.tech
Api.tech
 
Работа с соцсетями (Lecture 19 – social)
Работа с соцсетями (Lecture 19 – social)Работа с соцсетями (Lecture 19 – social)
Работа с соцсетями (Lecture 19 – social)
 
Как переехать с http на https: пошаговая инструкция
Как переехать с http на https: пошаговая инструкцияКак переехать с http на https: пошаговая инструкция
Как переехать с http на https: пошаговая инструкция
 
Авторизация
АвторизацияАвторизация
Авторизация
 
OAuthоризация и API социальных сетей
OAuthоризация и API социальных сетейOAuthоризация и API социальных сетей
OAuthоризация и API социальных сетей
 
15 - Web-технологии. Сессии и авторизация
15 - Web-технологии. Сессии и авторизация15 - Web-технологии. Сессии и авторизация
15 - Web-технологии. Сессии и авторизация
 
Lesson1
Lesson1Lesson1
Lesson1
 
ZFConf 2011: Создание REST-API для сторонних разработчиков и мобильных устрой...
ZFConf 2011: Создание REST-API для сторонних разработчиков и мобильных устрой...ZFConf 2011: Создание REST-API для сторонних разработчиков и мобильных устрой...
ZFConf 2011: Создание REST-API для сторонних разработчиков и мобильных устрой...
 
Мировые информационные ресурсы. Лекция 3
Мировые информационные ресурсы. Лекция 3Мировые информационные ресурсы. Лекция 3
Мировые информационные ресурсы. Лекция 3
 
REST
RESTREST
REST
 
Stas Sultanov "REST again? Oh, come on!"
Stas Sultanov "REST again? Oh, come on!"Stas Sultanov "REST again? Oh, come on!"
Stas Sultanov "REST again? Oh, come on!"
 
Сам себе АНБ, API социальных сетей
Сам себе АНБ, API социальных сетейСам себе АНБ, API социальных сетей
Сам себе АНБ, API социальных сетей
 
Управление доступом к web-приложениям (Oracle)
Управление доступом к web-приложениям (Oracle)Управление доступом к web-приложениям (Oracle)
Управление доступом к web-приложениям (Oracle)
 
Dv w2k-sec-concepts
Dv w2k-sec-conceptsDv w2k-sec-concepts
Dv w2k-sec-concepts
 
Кулинарный мастер-класс "Готовим безопасный офис нового поколения на основе C...
Кулинарный мастер-класс "Готовим безопасный офис нового поколения на основе C...Кулинарный мастер-класс "Готовим безопасный офис нового поколения на основе C...
Кулинарный мастер-класс "Готовим безопасный офис нового поколения на основе C...
 
Android - 15 - Social
Android - 15 - SocialAndroid - 15 - Social
Android - 15 - Social
 
Разработка RESTful api with all bells and whistles
Разработка RESTful api with all bells and whistlesРазработка RESTful api with all bells and whistles
Разработка RESTful api with all bells and whistles
 
Роман Акинфеев «Разработка RESTful API with all bells and whistles»
Роман Акинфеев «Разработка RESTful API with all bells and whistles»Роман Акинфеев «Разработка RESTful API with all bells and whistles»
Роман Акинфеев «Разработка RESTful API with all bells and whistles»
 

Más de OdessaFrontend

Викторина | Odessa Frontend Meetup #19
Викторина | Odessa Frontend Meetup #19Викторина | Odessa Frontend Meetup #19
Викторина | Odessa Frontend Meetup #19OdessaFrontend
 
Использование Recoil в React и React Native приложениях | Odessa Frontend Mee...
Использование Recoil в React и React Native приложениях | Odessa Frontend Mee...Использование Recoil в React и React Native приложениях | Odessa Frontend Mee...
Использование Recoil в React и React Native приложениях | Odessa Frontend Mee...OdessaFrontend
 
Великолепный Gatsby.js | Odessa Frontend Meetup #19
Великолепный Gatsby.js | Odessa Frontend Meetup #19Великолепный Gatsby.js | Odessa Frontend Meetup #19
Великолепный Gatsby.js | Odessa Frontend Meetup #19OdessaFrontend
 
Функциональное программирование с использованием библиотеки fp-ts | Odessa Fr...
Функциональное программирование с использованием библиотеки fp-ts | Odessa Fr...Функциональное программирование с использованием библиотеки fp-ts | Odessa Fr...
Функциональное программирование с использованием библиотеки fp-ts | Odessa Fr...OdessaFrontend
 
Canvas API как инструмент для работы с графикой | Odessa Frontend Meetup #18
Canvas API как инструмент для работы с графикой | Odessa Frontend Meetup #18Canvas API как инструмент для работы с графикой | Odessa Frontend Meetup #18
Canvas API как инструмент для работы с графикой | Odessa Frontend Meetup #18OdessaFrontend
 
Викторина | Odessa Frontend Meetup #17
Викторина | Odessa Frontend Meetup #17Викторина | Odessa Frontend Meetup #17
Викторина | Odessa Frontend Meetup #17OdessaFrontend
 
Антихрупкий TypeScript | Odessa Frontend Meetup #17
Антихрупкий TypeScript | Odessa Frontend Meetup #17Антихрупкий TypeScript | Odessa Frontend Meetup #17
Антихрупкий TypeScript | Odessa Frontend Meetup #17OdessaFrontend
 
Частые ошибки при разработке фронтенда | Odessa Frontend Meetup #17
Частые ошибки при разработке фронтенда | Odessa Frontend Meetup #17Частые ошибки при разработке фронтенда | Odessa Frontend Meetup #17
Частые ошибки при разработке фронтенда | Odessa Frontend Meetup #17OdessaFrontend
 
Объекты в ECMAScript | Odessa Frontend Meetup #16
Объекты в ECMAScript | Odessa Frontend Meetup #16Объекты в ECMAScript | Odessa Frontend Meetup #16
Объекты в ECMAScript | Odessa Frontend Meetup #16OdessaFrontend
 
Фриланс как профессиональная деградация | Odessa Frontend Meetup #16
Фриланс как профессиональная деградация | Odessa Frontend Meetup #16Фриланс как профессиональная деградация | Odessa Frontend Meetup #16
Фриланс как профессиональная деградация | Odessa Frontend Meetup #16OdessaFrontend
 
Cлайдер на CSS | Odessa Frontend Meetup #16
Cлайдер на CSS | Odessa Frontend Meetup #16Cлайдер на CSS | Odessa Frontend Meetup #16
Cлайдер на CSS | Odessa Frontend Meetup #16OdessaFrontend
 
Современный станок верстальщика
Современный станок верстальщикаСовременный станок верстальщика
Современный станок верстальщикаOdessaFrontend
 
Викторина | Odessa Frontend Meetup #15
Викторина | Odessa Frontend Meetup #15Викторина | Odessa Frontend Meetup #15
Викторина | Odessa Frontend Meetup #15OdessaFrontend
 
DRY’им Vuex | Odessa Frontend Meetup #15
DRY’им Vuex | Odessa Frontend Meetup #15DRY’им Vuex | Odessa Frontend Meetup #15
DRY’им Vuex | Odessa Frontend Meetup #15OdessaFrontend
 
А/Б тестирование: Что? Как? Зачем? | Odessa Frontend Meetup #15
А/Б тестирование: Что? Как? Зачем? | Odessa Frontend Meetup #15А/Б тестирование: Что? Как? Зачем? | Odessa Frontend Meetup #15
А/Б тестирование: Что? Как? Зачем? | Odessa Frontend Meetup #15OdessaFrontend
 
Пощупать 3д в браузере | Odessa Frontend Meetup #15
Пощупать 3д в браузере | Odessa Frontend Meetup #15Пощупать 3д в браузере | Odessa Frontend Meetup #15
Пощупать 3д в браузере | Odessa Frontend Meetup #15OdessaFrontend
 
Викторина | Odessa Frontend Meetup #14
Викторина | Odessa Frontend Meetup #14Викторина | Odessa Frontend Meetup #14
Викторина | Odessa Frontend Meetup #14OdessaFrontend
 
Викторина | Odessa Frontend Meetup #13
Викторина | Odessa Frontend Meetup #13Викторина | Odessa Frontend Meetup #13
Викторина | Odessa Frontend Meetup #13OdessaFrontend
 
Структуры данных в JavaScript | Odessa Frontend Meetup #13
Структуры данных в JavaScript | Odessa Frontend Meetup #13Структуры данных в JavaScript | Odessa Frontend Meetup #13
Структуры данных в JavaScript | Odessa Frontend Meetup #13OdessaFrontend
 
Эффективность с большой буквы Э… или любой другой | Odessa Frontend Meetup #13
Эффективность с большой буквы Э… или любой другой | Odessa Frontend Meetup #13Эффективность с большой буквы Э… или любой другой | Odessa Frontend Meetup #13
Эффективность с большой буквы Э… или любой другой | Odessa Frontend Meetup #13OdessaFrontend
 

Más de OdessaFrontend (20)

Викторина | Odessa Frontend Meetup #19
Викторина | Odessa Frontend Meetup #19Викторина | Odessa Frontend Meetup #19
Викторина | Odessa Frontend Meetup #19
 
Использование Recoil в React и React Native приложениях | Odessa Frontend Mee...
Использование Recoil в React и React Native приложениях | Odessa Frontend Mee...Использование Recoil в React и React Native приложениях | Odessa Frontend Mee...
Использование Recoil в React и React Native приложениях | Odessa Frontend Mee...
 
Великолепный Gatsby.js | Odessa Frontend Meetup #19
Великолепный Gatsby.js | Odessa Frontend Meetup #19Великолепный Gatsby.js | Odessa Frontend Meetup #19
Великолепный Gatsby.js | Odessa Frontend Meetup #19
 
Функциональное программирование с использованием библиотеки fp-ts | Odessa Fr...
Функциональное программирование с использованием библиотеки fp-ts | Odessa Fr...Функциональное программирование с использованием библиотеки fp-ts | Odessa Fr...
Функциональное программирование с использованием библиотеки fp-ts | Odessa Fr...
 
Canvas API как инструмент для работы с графикой | Odessa Frontend Meetup #18
Canvas API как инструмент для работы с графикой | Odessa Frontend Meetup #18Canvas API как инструмент для работы с графикой | Odessa Frontend Meetup #18
Canvas API как инструмент для работы с графикой | Odessa Frontend Meetup #18
 
Викторина | Odessa Frontend Meetup #17
Викторина | Odessa Frontend Meetup #17Викторина | Odessa Frontend Meetup #17
Викторина | Odessa Frontend Meetup #17
 
Антихрупкий TypeScript | Odessa Frontend Meetup #17
Антихрупкий TypeScript | Odessa Frontend Meetup #17Антихрупкий TypeScript | Odessa Frontend Meetup #17
Антихрупкий TypeScript | Odessa Frontend Meetup #17
 
Частые ошибки при разработке фронтенда | Odessa Frontend Meetup #17
Частые ошибки при разработке фронтенда | Odessa Frontend Meetup #17Частые ошибки при разработке фронтенда | Odessa Frontend Meetup #17
Частые ошибки при разработке фронтенда | Odessa Frontend Meetup #17
 
Объекты в ECMAScript | Odessa Frontend Meetup #16
Объекты в ECMAScript | Odessa Frontend Meetup #16Объекты в ECMAScript | Odessa Frontend Meetup #16
Объекты в ECMAScript | Odessa Frontend Meetup #16
 
Фриланс как профессиональная деградация | Odessa Frontend Meetup #16
Фриланс как профессиональная деградация | Odessa Frontend Meetup #16Фриланс как профессиональная деградация | Odessa Frontend Meetup #16
Фриланс как профессиональная деградация | Odessa Frontend Meetup #16
 
Cлайдер на CSS | Odessa Frontend Meetup #16
Cлайдер на CSS | Odessa Frontend Meetup #16Cлайдер на CSS | Odessa Frontend Meetup #16
Cлайдер на CSS | Odessa Frontend Meetup #16
 
Современный станок верстальщика
Современный станок верстальщикаСовременный станок верстальщика
Современный станок верстальщика
 
Викторина | Odessa Frontend Meetup #15
Викторина | Odessa Frontend Meetup #15Викторина | Odessa Frontend Meetup #15
Викторина | Odessa Frontend Meetup #15
 
DRY’им Vuex | Odessa Frontend Meetup #15
DRY’им Vuex | Odessa Frontend Meetup #15DRY’им Vuex | Odessa Frontend Meetup #15
DRY’им Vuex | Odessa Frontend Meetup #15
 
А/Б тестирование: Что? Как? Зачем? | Odessa Frontend Meetup #15
А/Б тестирование: Что? Как? Зачем? | Odessa Frontend Meetup #15А/Б тестирование: Что? Как? Зачем? | Odessa Frontend Meetup #15
А/Б тестирование: Что? Как? Зачем? | Odessa Frontend Meetup #15
 
Пощупать 3д в браузере | Odessa Frontend Meetup #15
Пощупать 3д в браузере | Odessa Frontend Meetup #15Пощупать 3д в браузере | Odessa Frontend Meetup #15
Пощупать 3д в браузере | Odessa Frontend Meetup #15
 
Викторина | Odessa Frontend Meetup #14
Викторина | Odessa Frontend Meetup #14Викторина | Odessa Frontend Meetup #14
Викторина | Odessa Frontend Meetup #14
 
Викторина | Odessa Frontend Meetup #13
Викторина | Odessa Frontend Meetup #13Викторина | Odessa Frontend Meetup #13
Викторина | Odessa Frontend Meetup #13
 
Структуры данных в JavaScript | Odessa Frontend Meetup #13
Структуры данных в JavaScript | Odessa Frontend Meetup #13Структуры данных в JavaScript | Odessa Frontend Meetup #13
Структуры данных в JavaScript | Odessa Frontend Meetup #13
 
Эффективность с большой буквы Э… или любой другой | Odessa Frontend Meetup #13
Эффективность с большой буквы Э… или любой другой | Odessa Frontend Meetup #13Эффективность с большой буквы Э… или любой другой | Odessa Frontend Meetup #13
Эффективность с большой буквы Э… или любой другой | Odessa Frontend Meetup #13
 

Último (9)

СИСТЕМА ОЦЕНКИ УЯЗВИМОСТЕЙ CVSS 4.0 / CVSS v4.0 [RU].pdf
СИСТЕМА ОЦЕНКИ УЯЗВИМОСТЕЙ CVSS 4.0 / CVSS v4.0 [RU].pdfСИСТЕМА ОЦЕНКИ УЯЗВИМОСТЕЙ CVSS 4.0 / CVSS v4.0 [RU].pdf
СИСТЕМА ОЦЕНКИ УЯЗВИМОСТЕЙ CVSS 4.0 / CVSS v4.0 [RU].pdf
 
Cyberprint. Dark Pink Apt Group [RU].pdf
Cyberprint. Dark Pink Apt Group [RU].pdfCyberprint. Dark Pink Apt Group [RU].pdf
Cyberprint. Dark Pink Apt Group [RU].pdf
 
ИСТОЧНИКИ ИННОВАЦИОННОСТИ КИТАЯ (ПО ВЕРСИИ DGAP) | The Sources of China’s Inn...
ИСТОЧНИКИ ИННОВАЦИОННОСТИ КИТАЯ (ПО ВЕРСИИ DGAP) | The Sources of China’s Inn...ИСТОЧНИКИ ИННОВАЦИОННОСТИ КИТАЯ (ПО ВЕРСИИ DGAP) | The Sources of China’s Inn...
ИСТОЧНИКИ ИННОВАЦИОННОСТИ КИТАЯ (ПО ВЕРСИИ DGAP) | The Sources of China’s Inn...
 
CVE. The Fortra's GoAnywhere MFT [RU].pdf
CVE. The Fortra's GoAnywhere MFT [RU].pdfCVE. The Fortra's GoAnywhere MFT [RU].pdf
CVE. The Fortra's GoAnywhere MFT [RU].pdf
 
2023 Q4. The Ransomware report. [RU].pdf
2023 Q4. The Ransomware report. [RU].pdf2023 Q4. The Ransomware report. [RU].pdf
2023 Q4. The Ransomware report. [RU].pdf
 
MS Navigating Incident Response [RU].pdf
MS Navigating Incident Response [RU].pdfMS Navigating Incident Response [RU].pdf
MS Navigating Incident Response [RU].pdf
 
Ransomware_Q3 2023. The report [RU].pdf
Ransomware_Q3 2023.  The report [RU].pdfRansomware_Q3 2023.  The report [RU].pdf
Ransomware_Q3 2023. The report [RU].pdf
 
Cyber Defense Doctrine Managing the Risk Full Applied Guide to Organizational...
Cyber Defense Doctrine Managing the Risk Full Applied Guide to Organizational...Cyber Defense Doctrine Managing the Risk Full Applied Guide to Organizational...
Cyber Defense Doctrine Managing the Risk Full Applied Guide to Organizational...
 
Malware. DCRAT (DARK CRYSTAL RAT) [RU].pdf
Malware. DCRAT (DARK CRYSTAL RAT) [RU].pdfMalware. DCRAT (DARK CRYSTAL RAT) [RU].pdf
Malware. DCRAT (DARK CRYSTAL RAT) [RU].pdf
 

OAuth2 и OpenID Connect простым языком | Odessa Frontend Meetup #17

  • 1.
  • 2. OAuth 2 и OpenID Connect простыми и понятными словами Yurii Yudkin Front-end developer
  • 3. О себе Юрий Юдкин Более 6 лет опыта в front-end разработке Front-end разработчик в компании DataArt
  • 6. • Безопасность • Поддержка Форма аутентификации - недостатки
  • 7. OAuth 2 - протокол авторизации
  • 9. • Resource owner - Вы! Вы являетесь владельцем вашей личности, ваших данных и любых действий, которые могут быть выполнены с вашими учетными записями. • Client - приложение которое хочет получить доступ к данным или выполнять действия от имени Resource Owner. • Authorization server - приложение, которое знает Resource owner, где у Resource owner уже есть учетная запись. • Resource server - API сервер, который Client может использовать от имени Resource Owner. • Redirect URI - URL-адрес, на который сервер авторизации перенаправит владельца ресурса обратно после предоставления разрешения клиенту. Иногда это называют “Callback URL”. • Response Type - тип информации, которую ожидает получить Client. Наиболее распространенный тип ответа - это код, в котором Client ожидает код авторизации. • Authorization Code - недолговечный временный код, который Client предоставляет серверу авторизации в обмен на токен доступа. • Access Token - ключ, который Client будет использовать для связи с Resource Server. OAuth 2 терминология
  • 10. Делегированная авторизация OAuth 2 Client Resource owner Go to Authorization server Redirect URI: get_rich_or_die/callback Response Type: Code Authorization server Back to redirect url with authorization token Exchange authorization token for access code
  • 11. • Scope - перечень того, куда клиент хочет получить доступ, например доступ к данным или выполнение действий. • Consent - согласие Resource owner на предоставление доступа клиенту на данные или действия указанные в scope. Еще немного OAuth 2 терминологии
  • 12. Делегированная авторизация OAuth 2 Client Resource owner Go to Authorization server Scope: profile Redirect URI: get_rich_or_die/callback Response Type: Code Authorization server Back to redirect url with authorization token Exchange authorization token for access code
  • 13. OAuth 2 и OpenID Connect • OpenID Authentication • OAuth 2.0 Authorization OpenID OAuth 2.0 HTTP
  • 14. OpenID Connect - протокол аутентификации
  • 15. OpenID Connect authorization code flow Client Resource owner Go to Authorization server Redirect URI: get_rich_or_die/callback Scope: profile openid Response Type: Code Authorization server Back to redirect url with authorization token Exchange authorization token for access code and ID token.
  • 17. Используйте OAuth 2: 
 • Предоставления доступа к API • Получения доступа к данным пользователя в других системах OAuth 2 и OpenID Connect Используйте OpenID: 
 • Для аутентификацией пользователя
  • 18. https://developer.okta.com/ - это компания предоставляет услуги по управлению идентификацией и доступом. 
 https://oauth.net/ - сайт с официальной документацией и спецификацией по OAuth протоколу. https://openid.net/ - сайт с официальной документацией и спецификацией по OpenID протоколу. Полезные источники
  • 20. Yurii Yudkin 
 telegram: @you_are_great25 
 LinkedIn: https://www.linkedin.com/in/yurii-yudkin Спасибо за внимание!