OAuth2 и OpenID — это протоколы для защиты данных. Многие современные приложения и веб-приложения используют их чтобы защитить данные, которые предоставляют их сервисы. Однако они сложны, а информация которая доступна о них в интернете, зачастую противоречива и содержит множество терминологии ,что еще больше усложняет их понимание. В своем докладе Юрий Юдкин рассказывает как эти протоколы устроены и для чего они используются, простыми и понятными словами.
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
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
протоколу.
Полезные источники