Firebase Login and Authentication: Android Tutorial

Introduction to firebase

Firebase was developed in 2022 to create and provide support for mobile and web applications. Later on, in 2022, it was acquired by Google. It gives you a number of facilities that can be used for the fast development of your applications. So, all you need to do is build applications fastly without thinking of managing infrastructure. Following are the products of Firebase that can be used in any applications:

Apart from the above-mentioned products of Firebase, some of the other Firebase products are Cloud Functions, Hosting, Cloud Storage, App Distribution, Predictions, A/B Testing, Cloud Messaging and Dynamic Links.

In this blog, we will learn about the authentication part of the Firebase.

Example – email login and registration

In this section of the blog, we will learn how to login and register using Email and Password with the help of Firebase. In this example, we will be having four activities i.e. one for Login, one for Registration, one for password reset and one will be our MainActivity. The following image will describe the flow of activities:

To use Firebase Authentication in our application, we need to connect our project i.e. the Android Studio project to Firebase. Following are the steps that are used to connect an Android project to Firebase:

Step 1: Open Android Studio and create a new project or open an existing project.

Step 2: In Android Studio, login with your email. You can find the login button at the top right corner of the Android Studio. (Remember the email id that you have used here)

Похожее:  Подтверждаем учетную запись на Госуслугах через Сбербанк онлайн. Способы подтверждения аккаунта на Госуслугах через Сбербанк Онлайн

Step 3: Open the Firebase Website and login into it. (use the same email id as used in Android Studio for login)

Step 4: After login, click on the “Go To Console” button that is present of the upper right side of the website.

Step 5: Click on “Add Project”.

Step 6: Enter the required details of the project and click on submit.

Step 7: After creating a project, you will see the below image of your project dashboard.

Here, all the services of Firebase are shown and you can use any of them.

Step 8: In this blog, we are interested in the authentication part, so click on the “Authentication” button and then switch to “Sign-in method” tab.

Step 9: In our example, we will signin by email. So, click on the edit button next to the “Email/Password” option and you will see the below screen.

Step 10: Enable Email/Password signin and click on “Save”. You are done with the Firebase website part.

Step 11: Come back to your project in Android Studio and click on Tools > Firebase > Authentication.

Step 12: We are almost done, now we have to add our project in Android Studio with the project that we have created in the Firebase. So, click on “Email and password authentication”. Here, we are having two options i.e. “Connect to Firebase” and “Add Firebase Authentication to your app”. Firstly, we have to connect our project to Firebase, so, click on “Connect to Firebase” button.

Step 13: A list of projects, associated with your email will be displayed and you have to select the project that you have created earlier on Firebase and then click on “Connect to Firebase”.

Step 14: Now, your project on the Android Studio is connected with the one present on the Firebase. Lastly, we have to add some dependencies to our projects. So, click on “Add Firebase Authentication to your app”(this is the second option that we found on step number 12).

Phew! Finally, we are done with all the steps that are required to connect our Android Studio project with Firebase for Authentication. Now, let’s move on to the coding part.

As discussed earlier, in our example, we will be having four activities:

Pros and cons of using firebase

Some of the advantages of using Firebase are:

Some of the disadvantages of using Firebase are:

Анонимные пользователи

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

Идея в том что в определенный момент времени, анонимные пользователи могут зарегистрироваться, и Firebase может предоставить мост для связывания своих анонимных учетных записей с их учетными данными без потери данных, сохраняющихся во время анонимных состояний. Чтобы войти как анонимный пользователь, вы должны вызвать:

Настройка аутентификации телефона

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

Чтобы получить токен APN, необходимый серверу Firebase, выполните следующее в файле AppDelegate.swift:

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

Вы не сможете протестировать этот метод аутентификации с помощью Xcode Simulator, скорее вам нужно будет подключить ваш iPhone для установки и запуска приложения.

В Xcode перейдите в «Возможности» и включите Push-уведомления. Приложение автоматически предоставит и создаст файл FirebaseDo.entitlements, как показано в навигаторе проекта.

Затем мы создадим ключ аутентификации Apple Push Notification для загрузки в Firebase. На портале разработчиков Apple в разделе «Ключи» введите название своего проекта, указав флажки APN. Загрузите полученный файл .p8 и обратите внимание на идентификатор ключа, который нам нужно будет ввести в ближайшее время.

Вернитесь в консоль Firebase и в разделе «Настройки проекта» (значок шестеренки) выберите вкладку «Облачные сообщения». В разделе «Конфигурация приложения App Store» и «APNs Authentication Key» выберите кнопку «Загрузить» и загрузите файл .

Настройка проекта

В этой серии мы собираемся создать приложение to-do под названием FirebaseDo. Начнем с клонирования проекта с GitHub:

Обработка изменений состояния auth

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

Отображение входа в систему

Затем мы обрабатываем метод loginAction(), который вызывается в том случае, если слушатель событий определяет, что пользователь в настоящее время не аутентифицирован. Все, что нам нужно сделать в этом случае, представляет собой modhUI.

Здесь начинается волшебство, так как FirebaseUI обрабатывает все: просит пользователя ввести свой адрес электронной почты, определяет, существует ли пользователь (в этом случае у пользователя будет запрошен пароль) или для нового пользователя, запросит их имя и назначение пароля.

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

Отправка пользователям email

Firebase обеспечивает отличную поддержку для верификации по email или отправки запроса на сброс пароля на emai.

Предпосылки

Вам понадобится следующее:

Тестирование приложения

И это все – нам не нужно было добавлять очень много дополнительного кода в наше приложение, чтобы настроить его для полного процесса регистрации и входа в систему. Давайте создадим и запустим приложение в Xcode, чтобы увидеть FirebaseUI в действии. При первом запуске приложения вы не будете аутентифицированы, поэтому вы получите шаблон общего назначения с параметрами проверки подлинности, которые вы выбрали в консоли Firebase.

Это выглядит слегка сыро, но вы можете настроить практически все аспекты шаблона.

Ввод нового адреса электронной почты пользователя приведет к экрану «Создать учетную запись», в котором будет указано ваше имя и пароль.

Заполнив эту форму, вы зарегистрируетесь как новый пользователь (хотя наше приложение будет отображать только пустой экран). Чтобы подтвердить, что новый пользователь был создан, вы можете перейти в «Аутентификация»> «Пользователи» в вашей Firebase Console.

Проверьте каждый из методов проверки подлинности, помня, что вам нужно будет выйти из системы, чтобы повторно запустить запрос проверки подлинности. Повторно активируйте auth, добавив следующий код в качестве первой строки в viewDidLoad() после вызовите:

Это заставит приложение вернуться в исходное состояние, чтобы вы могли протестировать аутентификацию с помощью SMS. Запустите приложение еще раз, на этот раз выбрав «Войти с телефоном».

Управление изменениями состояния аутентификации

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

Создав обработчик, .addStateDidChangeListener, вы теперь можете определить, в каком состоянии находится пользователь, и инициировать определенный вызов на основе этого.

Цели этого учебника

В конце этого урока вы начнете с простого приложения Firebase, которое использует Firebase SDK для аутентификации пользователей, используя электронную почту и пароль, а также через SMS. По пути вы узнаете о:

  1. Настройка Firebase с помощью CocoaPods
  2. Настройка делегата приложения для подключения к Firebase
  3. Настройка прав доступа для аутентификации пользователя Text/SMS
  4. Использование FirebaseUI для аутентификации пользователей

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

Заключение

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

Затем мы приступили к созданию нашего простого приложения FirebaseDo, и хотя оно еще не выполняет никаких функций напоминания, мы начнем работать над этим в следующем учебном пособии. Но всего за несколько строк нам удалось выполнить следующее:

  • Встроенная Firebase для настройки механизма аутентификации для электронной почты и пароля
  • Добавлена возможность аутентификации через SMS
  • Отслеживаемые состояния аутентификации
  • Грамотно обрабатывать ошибки

В оставшейся части серии вы познакомитесь с некоторыми другими компонентами Firebase.

И пока вы здесь, обязательно ознакомьтесь с некоторыми другими нашими статьями по разработке приложений для iOS!

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *