En
Проекты Вакансии Блог
09 декабря 2022

Авторизация в мобильном приложении на iOS или Android

Авторизация — это процесс подтверждения прав на совершение определенных действий. Обычно она используется в приложениях, где нужно ограничить доступ к данным: например, личным перепискам, банковским реквизитам, документам и т.д.

Прежде чем внедрять авторизацию в свой сервис, определите для какого функционала она нужна. В корпоративном приложении без нее, скорее всего, совсем не обойтись. В свою очередь, в интернет-магазинах вход в личный кабинет обычно не обязателен для покупки, но требуется для начисления бонусов. Даже во многих банковских приложениях без авторизации доступны geo-карта с банкоматами, уведомления, курсы валют, чат с поддержкой. При этом нужно сохранять данные, введенные неавторизованным пользователем, чтобы ему не пришлось заполнять их повторно.

К примеру, создавать презентации можно с помощью приложений Microsoft PowerPoint или Canva, при этом вход в аккаунт требуется только в последнем. Это объясняется спецификой Canva — онлайн-доступ к своим работам без привязки к конкретному устройству.

Способы авторизации в мобильном приложении

Механизм авторизации зависит от ряда факторов, в том числе от требуемых сроков разработки и от того, с каких устройств пользователи будут заходить в приложение. Ниже перечислим наиболее распространенные способы идентификации.

Номер телефона + SMS-код. Способ удобен тем, что пользователю не надо запоминать пароль для входа. Хотя боты научились обходить и такую авторизацию с помощью специальных сервисов и могут исказить маркетинговые показатели, сделать это все равно сложнее, чем с логином или почтой, например.

Желательно предусмотреть автоподстановку кода из SMS:

  • iOS: через настройку textContentType у поля ввода (подробнее тут);
  • Android: через SmsRetriever, также можно получить с устройства номер телефона и предложить пользователю для быстрого ввода.

Email + пароль. Этот простой способ авторизации существует давно, при его реализации можно воспользоваться готовыми решениями для backend-части. Для того чтобы пользователям не нужно было запоминать свои пароли, предусмотрите автоподстановку. Например, на iOS можно использовать механизм аналогично пункту выше, на Android — механизм autofill. Очень часто при таком варианте авторизации используется одна пара «Email – пароль» на все случаи жизни, а это небезопасно.

Логин + пароль. Похож на способ «Email + пароль», но менее удобен из-за необходимости запоминать и пароль, и логин. Возможны и другие затруднения, например, для использования того или иного распространенного имени или фамилии в качестве логина, скорее всего, к ним придется добавлять дополнительные символы.

Email + код. Этот способ, как правило, не очень удобен пользователям, поскольку требует доступа к почте. Однако, он достаточной безопасный, поскольку позволяет отказаться от постоянного пароля. Кроме того, если сервис представлен в веб- и мобильном приложении (например, корпоративный мессенджер), то для входа в аккаунт на компьютере сотрудникам не понадобится телефон. Для упрощения авторизации можно с помощью механизма deep linking направить пользователя на нужный экран в почтовом клиенте.

Уникальный код. Для данного способа нужно продумать, насколько критична потеря кода и как часто он меняется. Например, на предприятии можно использовать QR-код для автоматической фиксации смены. Если сотрудник потеряет его, то другой человек просто не сможет воспользоваться им по назначению.

Социальные сети. Для пользователя преимущества этого способа в том, что можно не заполнять повторно данные, которые уже указаны в профиле. Определите, будете ли вы реализовывать привязку аккаунтов разных социальных сетей друг к другу в личном кабинете. Она нужна для того, чтобы человек мог авторизоваться как один пользователь и через Facebook, и через ВК, например. В iOS такое приложение также должно поддерживать механизм Sign In With Apple, а в Google — Google Sign-In. Иначе ревьюеры этих систем могут не разрешить публикацию сервиса в их магазинах.

Биометрия. Это один из самых быстрых способов авторизации. Она осуществляется с помощью индивидуального временного идентификатора, присваиваемого пользователю — токена. Период его активности не должен быть слишком длинным, чтобы обеспечить безопасность авторизации. При этом слишком короткий период будет вынуждать пользователя каждый раз входить заново, если он свернул приложение. Это может вызвать его недовольство.

PIN-код. Чаще всего используется на старых телефонах, где нет биометрии.

Sign In With Apple / Google Sign-In. В этом случае можно использовать данные аккаунта для входа и дальнейшей работы в сервисе, чтобы сэкономить время пользователя: от него требуется только Touch ID или код-пароль. Способ подходит для тех случаев, когда важно сохранить прогресс или цифровые покупки дополнений: например, в игре. При потере устройства или его замене можно восстановить привязанные приложения.

Google Account Manager. Дополнительный механизм к авторизации позволяет реализовать единый вход при установке нескольких приложений одного производителя. К примеру, если у вас есть два приложения для покупки авиабилетов и бронирования отеля, пользователю будет достаточно авторизоваться в одном из них.

Что ещё нужно учесть

  • Определите, как будут связаны авторизация и регистрация. Самый удобный сценарий для пользователя — не задумываться о том, что из этого ему необходимо. Допустим, в приложении мы реализовали способ «Номер телефона + SMS-код» и изначально даем возможность ввести номер телефона для входа. Если его нет в базе данных, система предложит ему ознакомиться с пользовательским соглашением и политикой конфиденциальности, зарегистрирует и вышлет SMS-код для подтверждения.
  • Продумайте периодичность автопродления токена авторизации и что произойдет по истечении сессии. Если пользователь давно не активен, необязательно возвращать его на экран входа. Иногда достаточно заблокировать доступ к части функционала, оставив пользователя на текущем экране: это актуально для магазинов, например. Для выхода из авторизованной зоны будет действовать тот же механизм.

Заключение

При разработке приложения мы рекомендуем продумать, какие функции требуют авторизации, а какие — нет. При этом в зависимости от особенностей проекта важно учитывать такие факторы, как простота и стоимость реализации, безопасность, удобство для пользователя.

Больше о наших решениях в мобильной разработке читайте в нашем портфолио.

Ринат
Руководитель Mobile-направления

Другие статьи

Как внедрить новую систему в компании максимально безболезненно
16 декабря 2024
Этапы внедрения CRM-системы
16 декабря 2024
Стоимость разработки MVP: как сохранить качество и при этом сэкономить
09 декабря 2024
Понравилась статья?
Подпишитесь на рассылку SimbirSoft! Пришлём письма о лайфхаках в разработке, поделимся опытом управления командами и компанией, а также расскажем о новых ивентах SimbirSoft.
Написать нам
Оставьте контакты, чтобы обсудить проект и условия
сотрудничества, или позвоните: 8 800 200-99-24
Прикрепить файл до 10Мб
Файл выбран
Можно прикрепить один файл в формате: txt, doc, docx, odt, xls, xlsx, pdf, jpg, jpeg, png.

Размер файла до 10 Мб.
Оставьте свои контакты
SimbirSoft регулярно расширяет штат сотрудников.
Отправьте контакты, чтобы обсудить условия сотрудничества.
Прикрепить резюме, до 10 Мб
Файл выбран
Можно прикрепить один файл в формате: txt, doc, docx, odt, xls, xlsx, pdf, jpg, jpeg, png.

Размер файла до 10 Мб.
Написать нам
Расскажите, какие задачи сейчас на вашем проекте.
Проконсультируем и предложим подходящих специалистов, а также сориентируем по ставкам на аутстаф.
Направление
Количество специалистов
Middle
TeamLead
Senior
TechLead
Прикрепить файл до 10Мб
Файл выбран
Можно прикрепить один файл в формате: txt, doc, docx, odt, xls, xlsx, pdf, jpg, jpeg, png.

Размер файла до 10 Мб.
Экспресс-консультация
Заполните все поля формы.
Эксперт свяжется с вами в течение рабочего дня.
Тематика
Прикрепить файл до 10Мб
Файл выбран
Можно прикрепить один файл в формате: txt, doc, docx, odt, xls, xlsx, pdf, jpg, jpeg, png.

Размер файла до 10 Мб.
Порекомендуйте друга — получите вознаграждение!
  • Angular-разработчик
  • Node.js-разработчик
  • Middle Vue.js / Frontend-разработчик
  • Системный аналитик
  • QA Engineer Fullstack (Python)
  • Инженер по нагрузочному тестированию
  • DevOps-инженер
  • 1С-аналитик
  • Юрист
  • Разработчик на C++
  • UI/UX дизайнер
  • 1С-разработчик
  • Data Scientist (NLP)
  • SDET (Python)
  • Аналитик DWH
  • Технический писатель
  • SDET (Java)
  • IT сорсер
  • DBA
  • QA с опытом в автоматизиции Java
  • Коммуникационный/графический дизайнер
  • Ассистент руководителя
  • MLOps инженер
  • SDET разработчик C#
  • Руководитель отдела 1С
  • SDET (Swift)
  • React native-разработчик
Прикрепить резюме, до 10Мб
Файл выбран
Можно прикрепить один файл в формате: txt, doc, docx, odt, xls, xlsx, pdf, jpg, jpeg, png.

Размер файла до 10 Мб.
Будь в курсе новостей SimbirSoft