769.72K
Category: softwaresoftware

Разработка сервиса авторизации рекомендательной системы студенческих проектов

1.

Факультет компьютерных наук
Образовательная программа «Программная инженерия»
Выпускная квалификационная работа
Разработка сервиса авторизации рекомендательной системы студенческих проектов
Development of authorization service for recommendation system of student projects
Проектная ВКР
Выполнил студент группы БПИ193
образовательной программы
09.03.04 «Программная инженерия»
Полянская Полина Алексеевна
Руководитель:
Старший преподаватель ФКН,
м.н.с. департамента анализа данных и
искусственного интеллекта
Паринов Андрей Андреевич
Москва, 2022
1

2.

Описание предметной области и проблемы
Предметная область:
Подтверждение его личности и проверка его прав.
Текущая проблема:
фото
У приложения рекомендательной системы проектов необходимо реализовать вход
с помощью студенческой учетной записи.
фото
фото
Высшая школа экономики, Москва, 2020
ФКН, ОП Программная инженерия, 2021
П.А. Полянская, ВКР «Разработка сервиса авторизации рекомендательной системы студенческих проектов»
2

3.

Основные понятия
Идентификация – это процесс распознавания субъекта (пользователя, программы, процесса) на
основе его идентификатора (имени, логина, номера телефона).
Аутентификация – это процедура проверки подлинности.
Авторизация – процесс предоставления пользователю или группе пользователей определенных
разрешений, прав доступа и привилегий в компьютерной системе.
Токен или JWT токен – сообщение в json формате.
Access Token - ключ, предъявление которого является пропуском к защищенным ресурсам.
ClientId - идентификатор клиента.
Client Secret - секретный ключ.
Id Token - токен, который доказывает, что пользователь прошел аутентификацию.
OAuth 2.0. - протокол авторизации, позволяющий выдать одному сервису (приложению) права на
доступ к ресурсам пользователя на другом сервисе.
OpenId Connect - это тонкий слой поверх OAuth 2.0, добавляющий сведения о логине и профиле
пользователя, который вошел в учетную запись.
ФКН, ОП Программная инженерия, 2021
П.А. Полянская, ВКР «Разработка сервиса авторизации рекомендательной системы студенческих проектов»
3

4.

Актуальность работы
Мобильному приложению рекомендательной системы студенческих проектов НИУ ВШЭ необходимо:
1. идентифицировать пользователя, как студента НИУ ВШЭ, при входе в приложение
2. провести аутентификацию и авторизацию для интеграции с LMS (например, получения статуса
согласования ВКР студента, списка тем ВКР для определенного курса и направления)
Для этого необходимо создать сервис авторизации.
ФКН, ОП Программная инженерия, 2021
П.А. Полянская, ВКР «Разработка сервиса авторизации рекомендательной системы студенческих проектов»
4

5.

Цель и задачи ВКР
Цель работы
Реализовать сервис аутентификации и авторизации приложения.
Задачи работы
1.Реализовать авторизацию с помощью логина и пароля приложения
2.Реализовать авторизацию с помощью сервиса НИУ ВШЭ
3.Реализовать авторизацию с помощью сторонних сервисов (Google, GitHub)
ФКН, ОП Программная инженерия, 2021
П.А. Полянская, ВКР «Разработка сервиса авторизации рекомендательной системы студенческих проектов»
5

6.

Трудности в реализации
Проблемы:
1.Планируется одновременное подключение большого числа пользователей.
Нужно:
Проработать алгоритмы хранения данных.
Выбрать оптимальный протокол передачи данных.
Провести нагрузочное тестирование.
Продумать, какие данные нам нужно собирать и мониторить для исследования работы системы.
2.Данные должны быть засекречены.
Нужно:
Проработать угрозы похищения и подбора пароля.
Продумать способы шифрования и хеширования токена.
ФКН, ОП Программная инженерия, 2021
П.А. Полянская, ВКР «Разработка сервиса авторизации рекомендательной системы студенческих проектов»
6

7.

Методы
Протокол авторизации OAuth типа Authorization Code Grant
ФКН, ОП Программная инженерия, 2021
П.А. Полянская, ВКР «Разработка сервиса авторизации рекомендательной системы студенческих проектов»
7

8.

Методы
Протокол авторизации OAuth типа Authorization Client Credentials Grant
ФКН, ОП Программная инженерия, 2021
П.А. Полянская, ВКР «Разработка сервиса авторизации рекомендательной системы студенческих проектов»
8

9.

Методы
Протокол авторизации OAuth 2.0. типа Authorization Code Grant
ФКН, ОП Программная инженерия, 2021
П.А. Полянская, ВКР «Разработка сервиса авторизации рекомендательной системы студенческих проектов»
9

10.

Методы
Протокол аутентификации OpenId Connect
ФКН, ОП Программная инженерия, 2021
П.А. Полянская, ВКР «Разработка сервиса авторизации рекомендательной системы студенческих проектов»
10

11.

Технологии и инструменты реализации
Веб-сервис на языке C#. Среда программирования - Visual Studio.
Инструменты тестирования: Unit, интеграционные и нагрузочные тесты на языке C#.
Инструменты мониторинга: Graylog.
ФКН, ОП Программная инженерия, 2021
П.А. Полянская, ВКР «Разработка сервиса авторизации рекомендательной системы студенческих проектов»
11

12.

Ожидаемые результаты
Ожидаемые результаты:
1.Веб-сервис
2.Результаты нагрузочного тестирования
3.Система мониторинга
Практическая значимость:
Приложение рекомендательной системы проектов готово к использованию на практике.
ФКН, ОП Программная инженерия, 2021
П.А. Полянская, ВКР «Разработка сервиса авторизации рекомендательной системы студенческих проектов»
12

13.

Список использованных источников
1. Документация по OAuth
[Электронный ресурс] URL: https://developers.google.com/identity/protocols/oauth2 (дата обращения:
23.11.2022)
2. Документация по MailKit
[Электронный ресурс] URL: https://metanit.com/sharp/aspnet5/21.1.php (дата обращения: 20.11.2022)
3. Документация по авторизации на языке C#
[Электронный ресурс] URL: https://metanit.com/sharp/aspnet6/13.1.php (дата обращения: 23.11.2022)
4. Документация по OpenId Connect
[Электронный ресурс] URL: https://developers.google.com/identity/openid-connect/openid-connect?hl=el
(дата обращения: 19.11.2022)
ФКН, ОП Программная инженерия, 2021
П.А. Полянская, ВКР «Разработка сервиса авторизации рекомендательной системы студенческих проектов»
13
English     Русский Rules