Details
Title | Разработка механизма оптимизации процесса авторизации в Android-приложениях путем внедрения системы восстановления сессии из резервной копии: выпускная квалификационная работа бакалавра: направление 09.03.04 «Программная инженерия» ; образовательная программа 09.03.04_01 «Технология разработки и сопровождения качественного программного продукта» |
---|---|
Creators | Хламов Илья Александрович |
Scientific adviser | Петров Александр Владимирович |
Organization | Санкт-Петербургский политехнический университет Петра Великого. Институт компьютерных наук и кибербезопасности |
Imprint | Санкт-Петербург, 2025 |
Collection | Выпускные квалификационные работы ; Общая коллекция |
Subjects | авторизация ; android ; kotlin ; jetpack compose ; blockstore ; firebase ; encryptedsharedpreferences ; rest api ; mvi архитектура ; резервное копирование ; бесшовный вход ; authorization ; mvi architecture ; backup ; seamless login |
Document type | Bachelor graduation qualification work |
File type | |
Language | Russian |
Level of education | Bachelor |
Speciality code (FGOS) | 09.03.04 |
Speciality group (FGOS) | 090000 - Информатика и вычислительная техника |
DOI | 10.18720/SPBPU/3/2025/vr/vr25-1534 |
Rights | Доступ по паролю из сети Интернет (чтение, печать, копирование) |
Additionally | New arrival |
Record key | ru\spstu\vkr\35851 |
Record create date | 7/30/2025 |
Allowed Actions
–
Action 'Read' will be available if you login or access site from another network
Action 'Download' will be available if you login or access site from another network
Group | Anonymous |
---|---|
Network | Internet |
Современные мобильные приложения сталкиваются с проблемой потери пользовательских сессий при переустановке, замене устройства или сбоях, что требует повторного ввода учетных данных и ухудшает пользовательский опыт. На момент написания работы отсутствуют универсальные решения, обеспечивающие бесшовный вход с использованием резервного копирования данных. Цель работы — разработать механизм бесшовной авторизации, использующий резервное копирование пользовательских данных для автоматического восстановления сессий. Приложение предоставляет пользователю удобный интерфейс для авторизации, подтверждения кода и управления сессией, минимизируя необходимость ручного ввода данных. В работе проведен анализ предметной области, включая существующие механизмы авторизации и резервного копирования (Key-Value Backup, Auto Backup, BlockStore). Подробно описаны этапы разработки Android-приложения: проектирование требований, выбор технологического стека (Kotlin, Jetpack Compose, Firebase), проектирование архитектуры (MVI), реализация функционала, тестирование и анализ результатов. Особое внимание уделено безопасному хранению токенов с помощью EncryptedSharedPreferences и BlockStore, а также интеграции с Firebase для аналитики и управления настройками.
Modern mobile applications face the problem of losing user sessions when reinstalling, replacing a device, or crashing, which requires re-entering credentials and worsens the user experience. At the time of writing, there are no universal solutions that provide seamless login using data backup. The aim of the work is to develop a seamless authorization mechanism that uses backup of user data to automatically restore sessions. The application provides the user with a user-friendly interface for authorization, code verification, and session management, minimizing the need for manual data entry. The paper analyzes the subject area, including existing authorization and backup mechanisms (Key-Value Backup, Auto Backup, BlockStore). The stages of Android application development are described in detail: requirements design, technology stack selection (Kotlin, Jetpack Compose, Firebase), architecture design (MVI), functionality implementation, testing and results analysis. Special attention is paid to the secure storage of tokens using EncryptedSharedPreferences and BlockStore, as well as integration with Firebase for analytics and settings management.
Network | User group | Action |
---|---|---|
ILC SPbPU Local Network | All |
|
Internet | Authorized users SPbPU |
|
Internet | Anonymous |
|
- ОГЛАВЛЕНИЕ
- ВВЕДЕНИЕ
- ГЛАВА 1. ОБЗОР ПРЕДМЕТНОЙ ОБЛАСТИ
- 1.1. Авторизация в Android-приложениях
- 1.2. Проблемы потери данных сессии
- 1.3. Резервное копирование в Android
- 1.4. Существующие решения и их недостатки
- ГЛАВА 2. ПРОЕКТИРОВАНИЕ ТРЕБОВАНИЙ СИСТЕМЫ
- 2.1.1. Функциональные требования
- 2.1.2. Нефункциональные требования
- ГЛАВА 3. ОБЗОР ИСПОЛЬЗУЕМЫХ ТЕХНОЛОГИЙ
- 3.1. Язык и платформа разработки
- 3.1.1. Kotlin как основной язык программирования
- 3.1.2. Использование Android SDK для интеграции с системой
- 3.2. Библиотеки для реализации функциональности
- 3.2.1. Jetpack Compose для разработки пользовательского
- 3.2.2. Firebase для аналитики и управления настройками
- 3.2.3. Библиотеки для работы с авторизацией
- 3.2.4. Koin для внедрения зависимостей
- 3.3. Blockstore как механизм резервного копирования токенов
- 3.4. Инструменты разработки
- 3.4.1. Android Studio как среда разработки
- 3.4.2. Система контроля версий
- 3.1. Язык и платформа разработки
- ГЛАВА 4. АРХИТЕКТУРА ПРИЛОЖЕНИЯ
- 4.1. Архитектура приложения и организация кода
- 4.2. Организация сетевого взаимодействия и контракты с бэкэндом
- ГЛАВА 5. РАЗРАБОТКА ПРИЛОЖЕНИЯ
- 5.1. Управление зависимостями и реализация базового функционала
- 5.1.1. Инверсия управления с Koin и реализация MVI-архитектуры
- 5.1.2. Сетевое взаимодействие и автоматическая аутентификация
- 5.2. Безопасное хранение и аналитика данных
- 5.2.1. Локальное хранение в EncryptedSharedPreferences
- 5.2.2. Управление данными в BlockStore с Firebase
- 5.3. Демонстрация работы
- 5.1. Управление зависимостями и реализация базового функционала
- ГЛАВА 6. ТЕСТИРОВАНИЕ
- 6.1. Описание процесса тестирования резервного копирования
- 6.2. Анализ полученных результатов тестирования
- ЗАКЛЮЧЕНИЕ
- СПИСОК ИСПОЛЬЗУЕМЫХ ИСТОЧНИКОВ
Access count: 0
Last 30 days: 0