Пять видов аутентификации и где они обитают презентация

Содержание

Слайд 2

Намиг Нурмамедов ф n.nurmamedov@skyeng.ru t.me/namig_nurmamedov Backend developer in mobile team

Намиг Нурмамедов

ф

n.nurmamedov@skyeng.ru

t.me/namig_nurmamedov

Backend developer
in mobile team

Слайд 3

Экосистема Skyeng Обучающая платформа Vimbox Мобильное приложение для изучения слов

Экосистема Skyeng

Обучающая платформа Vimbox
Мобильное приложение для изучения слов
Skyeng TV с субтитрами
Расширение

для браузера
И многое другое
Слайд 4

Аутентификация бывает: ф

Аутентификация бывает:

ф

Слайд 5

Виды аутентификации ф - Session - JWT - OAuth 2.0 - Query Token - Basic Http

Виды аутентификации

ф

- Session
- JWT
- OAuth 2.0
- Query Token
- Basic Http

Слайд 6

Аутентификация в монолитных приложениях ф - Исторически, аутентификация была stateful

Аутентификация в монолитных приложениях

ф

- Исторически, аутентификация была stateful сервисом.
- Аутентификация встроена

в сервер монолитного приложения.
Слайд 7

Сессия ф Server Client Session storage Session_id – User data

Сессия

ф

Server

Client

Session storage
Session_id – User data

Слайд 8

Использование сессии в skyeng ф id.skyeng.ru ?redirect=words.skyeng.ru User log in

Использование сессии в skyeng

ф

id.skyeng.ru
?redirect=words.skyeng.ru

User log in
Set browser cookie session_id=123
for domain *.skyeng.ru

Check

user roles
Show homepage

GET id.skyeng.ru/session
?session_id=123

Слайд 9

Аутентификация и микросервисы ф Аутентификация — предоставление доказательств, что вы

Аутентификация и микросервисы

ф

Аутентификация — предоставление доказательств, что вы на самом деле есть

тот, кем идентифицировались.
Авторизация — проверка, что вам разрешен доступ к запрашиваемому ресурсу.
Слайд 10

В контексте микросервисов ф Аутентификация представляет из себя сервис. Авторизация - общая для всех сервисов функциональность.

В контексте микросервисов

ф

Аутентификация представляет из себя сервис.
Авторизация - общая для всех

сервисов функциональность.
Слайд 11

В контексте микросервисов ф Authentication service Application service Client X

В контексте микросервисов

ф

Authentication service

Application service

Client

X

Слайд 12

В контексте микросервисов ф Authentication service Application service Client Secret

В контексте микросервисов

ф

Authentication service

Application service

Client

Secret key + Token = Verified User

Data

Secret key + User Data = Token

Private

Public

Слайд 13

1 Json Web Token - JWT eyJhbGciOiJIUzI1NiIsInR5cCI6Ikp. eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNT. SflKxwRJSMeKKF2QT4fwpMeJf36POk6y

1

Json Web Token - JWT

eyJhbGciOiJIUzI1NiIsInR5cCI6Ikp.
eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNT.
SflKxwRJSMeKKF2QT4fwpMeJf36POk6y

Слайд 14

1 JWT.IO

1

JWT.IO

Слайд 15

1 JWT.IO

1

JWT.IO

Слайд 16

1 Использование JWT

1

Использование JWT

Слайд 17

ф Почему мы не генерируем JWT в сервисе Words? Это

ф

Почему мы не генерируем JWT в сервисе Words?

Это ответственность сервиса Auth
Токен

созданный в нашем проекте
не сможет использоваться в других
Слайд 18

ф Какие инструменты использует мобильный бэкенд? Symfony Guard Authentication System LexikJWTAuthenticationBundle

ф

Какие инструменты использует мобильный бэкенд?

Symfony Guard Authentication System
LexikJWTAuthenticationBundle

Слайд 19

ф Как работаем с JWT локально и в тестах? Моки

ф

Как работаем с JWT локально и в тестах?

Моки пользователей с разными

ролям
В качестве токена используется логин пользователя
Слайд 20

ф OAuth 2.0 OAuth 2.0 — протокол авторизации, позволяющий выдать

ф

OAuth 2.0

OAuth 2.0 — протокол авторизации, позволяющий выдать одному сервису (приложению) права

на доступ к ресурсам пользователя на другом сервисе.
Слайд 21

ф Владелец ресурса OAuth 2.0: роли Пользователь, данные которого мы будем шарить

ф

Владелец ресурса

OAuth 2.0: роли

Пользователь, данные которого мы будем шарить

Слайд 22

ф Сервер ресурсов OAuth 2.0: роли Приложение, которое содержит защищенные ресурсы

ф

Сервер ресурсов

OAuth 2.0: роли

Приложение, которое содержит защищенные ресурсы

Слайд 23

ф Сервер авторизации OAuth 2.0: роли Приложение, которое подтверждает подлинность пользователей

ф

Сервер авторизации

OAuth 2.0: роли

Приложение, которое подтверждает подлинность пользователей

Слайд 24

ф Клиент OAuth 2.0: роли Приложение, которое делает запросы к серверу ресурсов от имени владельца ресурса

ф

Клиент

OAuth 2.0: роли

Приложение, которое делает запросы к серверу ресурсов от имени

владельца ресурса
Слайд 25

ф OAuth 2.0 в Skyeng

ф

OAuth 2.0 в Skyeng

Слайд 26

ф OAuth 2.0

ф

OAuth 2.0

Слайд 27

ф OAuth 2.0

ф

OAuth 2.0

Слайд 28

ф OAuth 2.0

ф

OAuth 2.0

Слайд 29

1 Использование OAuth 2.0 Шаг 1: Аутентификация в браузерном расширении

1

Использование OAuth 2.0

Шаг 1: Аутентификация в браузерном расширении

Слайд 30

1 Использование OAuth 2.0 Шаг 2: Получение списка слов на изучении

1

Использование OAuth 2.0

Шаг 2: Получение списка слов на изучении

Слайд 31

ф Query Token Токен передается в строке запроса вместе с

ф

Query Token

Токен передается в строке запроса вместе с email пользователя.
Используется в

публичном API для пользователей.
Токен отправляется пользователю на email по запросу.
Слайд 32

ф Query Token GET api.words.ru/api/public/words ?email=n.nurmamedov@skyeng.ru &token=bcfaa

ф

Query Token

GET api.words.ru/api/public/words
?email=n.nurmamedov@skyeng.ru
&token=bcfaa

Слайд 33

ф Query Token - Токен генерируется на основе хэш-функции по

ф

Query Token

- Токен генерируется на основе хэш-функции по email + secret

key.
- Токены не хранятся на сервере.
Слайд 34

ф Basic Http - Для аутентификации между внутренними сервисами Skyeng

ф

Basic Http

- Для аутентификации между внутренними сервисами Skyeng

Слайд 35

ф Вывод Существуют разные виды аутентификации и каждый из них имеет свою область применения

ф

Вывод

Существуют разные виды аутентификации и каждый из них имеет свою область

применения
Имя файла: Пять-видов-аутентификации-и-где-они-обитают.pptx
Количество просмотров: 68
Количество скачиваний: 0