Прочтите исходную статью на https://www.devhelperworld.in

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

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

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

Вы можете ознакомиться с моей статьей о функции обратного вызова здесь.

Что такое Oauth2

Согласно официальному сайту Oauth: OAuth 2.0 - это стандартный протокол авторизации. OAuth 2.0 заменяет работу, проделанную над исходным протоколом OAuth, созданным в 2006 году. OAuth 2.0 фокусируется на простоте клиентского разработчика, обеспечивая при этом определенные потоки авторизации для веб-приложений, настольных приложений, мобильных телефонов и устройств в жилых комнатах.

Проще говоря, это схема аутентификации и авторизации, при которой пользователи в Интернете могут получить доступ к своей информации на других веб-сайтах, не предоставляя учетные данные своей учетной записи (имя пользователя и / или пароль).

Существует только одно требование; то есть пользователь должен авторизовать приложение для доступа к его данным для выбранного поставщика OAuth.

Почему используется OAuth2

Пользователям не нужно запоминать свои учетные данные

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

Предотвращает дыры в безопасности

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

Удобство для разработчиков

Разработчики могут легко реализовать oauth2 в приложении. Им просто нужно просмотреть техническую документацию для конкретного поставщика OAuth. Например, если необходимо реализовать вход и / или регистрацию с помощью функции facebook, разработчик должен посетить официальную страницу документации для поставщика OAuth facebook.

Возможность обрабатывать не веб-клиентов

В процессе авторизации OAuth2 программа, отправляющая запросы на сервер авторизации, называется клиентом. Клиент может быть браузером, мобильным приложением или любым другим устройством. Таким образом OAuth2 может обрабатывать и не веб-клиентов.

Как работает OAuth2

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

  1. Владелец ресурса: это относится к пользователю, который дает разрешение на авторизацию приложения для доступа к своей учетной записи. Объем авторизации определяет доступ приложения к учетной записи пользователя.
  2. Сервер ресурсов или авторизации: сервер авторизации отвечает за проверку личности пользователя. Сервер ресурсов - это сервер, на котором размещены учетные записи защищенного пользователя.
  3. Клиент: это приложение, которое обращается к учетной записи пользователя. Но для этого он должен быть авторизован пользователем, и этот процесс авторизации должен пройти процесс проверки, выполняемый API.

Теперь вы знаете роли, которые играет каждый компонент; Давайте простыми словами обсудим общий рабочий процесс OAuth2.

Клиент или приложение отправляет запросы на авторизацию для доступа к ресурсам с сервера ресурсов.

  • Если пользователь принимает запрос, приложение получает разрешение на доступ к данным пользователя в соответствии с объемом разрешения.
  • Клиент запрашивает токен доступа у сервера авторизации или API, представляющий подлинность его собственной личности. Срок службы этих токенов доступа очень короткий, подумайте об их сроке службы в часах и минутах.
  • Если сервер авторизации подтверждает подлинность приложения, то сервер генерирует токен доступа к приложению.
  • Приложение запрашивает ресурс у сервера ресурсов или API. Затем он отправляет токен доступа на сервер для аутентификации.
  • Если сервер ресурсов обнаруживает, что токен доступа действителен, он передает ресурс приложению.

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

  1. Имя приложения
  2. Веб-сайт приложения
  3. Обратный вызов или URL-адрес перенаправления

Что такое URL-адрес перенаправления в OAuth2

URL-адрес перенаправления означает, что служба будет перенаправлять пользователей после того, как они авторизуют или отклонят ваше приложение. Он также указывает на маршрут, по которому вы будете писать коды для обработки токенов доступа.

Что такое идентификатор клиента в OAuth2

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

Что такое секрет клиента в OAuth2

Роль секрета клиента состоит в том, чтобы подтвердить подлинность приложения для API службы, когда приложение запрашивает доступ к учетной записи пользователя. Ценность секрета клиента должна храниться в секрете и никому не разглашаться.

Что такое токен обновления в OAuth2

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

Хорошо, мы обсудили основы того, что такое OAuth, зачем он нам нужен и каков внутренний принцип работы OAuth2. Давайте приступим к созданию приложения node js со встроенным входом в facebook, которое использует протокол OAuth.

Создание приложения OAuth2 Facebook

Сначала нам нужно создать приложение facebook, для этого заходим на страницу разработчиков facebook. Затем войдите в свою учетную запись Facebook, этот шаг необходим, потому что после этого вы сможете получить идентификатор приложения и секрет приложения, который является обязательным для подключения нашего приложения node js к Facebook.

1) После входа в систему нажмите кнопку «Начать», после чего вы получите нечто подобное, как показано на скриншоте ниже.

2) Нажмите кнопку «Далее», затем вам нужно выбрать свою должность. Выберите «Разработчик» (рекомендуется).

3) Сначала вам нужно создать приложение, снимок экрана для этого шага показан ниже.

4) Установите флажок «Я не робот».

5) После этого шага вы будете перенаправлены на страницу «Добавить продукт». На этой странице нажмите кнопку «Настройка».

6) Затем вам нужно выбрать платформу, для которой вы хотите добавить функцию входа в facebook. Выберите вариант «www».

7) Затем вам нужно ввести URL-адрес вашего сайта. Если у вас нет производственного сайта, вы определенно можете использовать localhost. Для этого приложения я использовал http: // localhost: 8000. Нажмите кнопку «Сохранить».

8) Затем пропустите остальные шаги, нажмите «Настройки» в левом меню.

9) На странице настроек вам нужно добавить URL-адрес перенаправления, чтобы сообщить facebook, куда пользователь будет перенаправлен обратно после авторизации. Здесь я снова использую для этого localhost. Я добавил http: // localhost: 8000 / auth / facebook / callback в качестве URL-адреса перенаправления. Нажмите кнопку «Сохранить изменения.

10) Затем перейдите по ссылке основных настроек в верхнем левом углу. Это выделено на снимке экрана, показанном ниже.

11) Вы увидите ключи и, скопируйте их и куда-нибудь вставьте. Они нам понадобятся позже.

Вот и все, вы успешно создали приложение facebook, которое является первым шагом для интеграции входа в facebook с приложением node js, которое мы создадим.

Вывод

Надеюсь, теперь у вас есть четкое представление о том, как можно использовать oauth2 для обеспечения входа в facebook для приложения node js. Если вы найдете эту статью полезной, подумайте о том, чтобы поделиться ею с другими. Спасибо.