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 PDF
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
Read Print Download
Internet Authorized users SPbPU
Read Print Download
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. Система контроля версий
  • ГЛАВА 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. Демонстрация работы
  • ГЛАВА 6. ТЕСТИРОВАНИЕ
    • 6.1. Описание процесса тестирования резервного копирования
    • 6.2. Анализ полученных результатов тестирования
  • ЗАКЛЮЧЕНИЕ
  • СПИСОК ИСПОЛЬЗУЕМЫХ ИСТОЧНИКОВ

Access count: 0 
Last 30 days: 0

Detailed usage statistics