📖🔖 Всё про OAuth 2.0 с примером за 3 минуты 📖
👉 OAuth 2.0 — это стандарт, который позволяет вашему приложению получить ограниченный доступ к данным пользователя во внешнем сервисе без передачи пароля
👉 Ключевая идея на примере FoodDeliveryGA
✅ пользователь логинится в приложении FoodDeliveryGA и подтверждает доступ к его личным данным на стороне внешнего сервиса (Mail.ru) - через его безопасную web-форму
✅ FoodDeliveryGA получает токены доступа и работает дальше через API
❌ пароль пользователя от Mail.ru приложению FoodDeliveryGA никогда не передают
👉 Роли в OAuth 2.0
на примере FoodDeliveryGA
▫️Resource Owner (Владелец ресурса) — пользователь
Человек, который хочет войти в приложение FoodDeliveryGA и даёт согласие на доступ к его данным в Mail.ru для этого приложения
▫️Client (Клиент) — приложение FoodDeliveryGA
Frontend + Backend (в зависимости от схемы), которое инициирует авторизацию
▫️Authorization Server (Сервер авторизации) — Mail.ru
На предоставляемой им web-форме пользователь вводит логин/пароль Mail.ru и подтверждает доступ к данным
▫️Resource Server (Сервер ресурсов) — API Mail.ru
Методы REST API, где лежат данные пользователя (например, профайл / user info, информация о друзьях, посты на стене в социальной сети Мой Мир и другие данные).
Эти методы мы вызываем с использованием токена, который получили после аутентификации пользователя
💡 Часто Authorization Server и Resource Server находятся “в одном провайдере” (как Mail.ru), но логически это разные роли и с точки зрения Mail.ru это разные сервисы (сервера)
👉 Алгоритм работы OAuth 2.0 по шагам на картинке
для Grant Type=authorization_code
👉 OAuth 2.0 Grant Types - алгоритмы
authorization_code
refresh_token
client_credentials
implicit
password
device_code
👉 Ключевые параметры OAuth 2.0
для API-методов (в URL и JSON)
response_type
client_id
client_secret
redirect_uri
scope
state
refresh_token
access_token
token_type
expires_in
Зависят от Grant Type
Продолжение в следующих постах #FoodDeliveryGA_oauth 🚀
#ИнтеграцииGA
Post #2992
4.14K

- ❤ 19
- 🔥 9
- ❤🔥 3
- 👍 1