Google Oauth — Где входить пользователям, бэкэнд/внешний интерфейс

В чем разница между использованием Google OAuth и входом пользователей во внешнем интерфейсе приложения и входом пользователей во внутренний интерфейс приложения?

Пример: вход пользователей и получение идентификатора и объекта аутентификации в React или предоставление Node/Express обработки всего, процесс, перенаправление и сохранение в базе данных.

Есть ли преимущества у тех или иных методов, которые наиболее распространены, и есть ли какие-то «правила»?

Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
4
0
1 396
3

Ответы 3

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

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

Если вы не защищаете свой сервер, вы не защищены. Обычно системы делают и то, и другое.

Это просто разные способы регистрации пользователей на нашем сайте.

Вход пользователей на веб-интерфейсе с использованием OAuth может быть очень удобным, поскольку он позволяет нашим пользователям не просматривать скучные формы на нашем веб-сайте. Использование OAuth — это всего лишь один клик от регистрации пользователей на нашем веб-сайте. Выгодно как для клиентов, так и для разработчиков. Мы получаем общую информацию о клиентах от провайдера (google, facebook), просто нажав на одну кнопку.

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

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

What is the difference between using Google OAuth and signing in users at the frontend of the application, and signing in users at the backend side of the application?

Итак, чтобы разъяснить всем, кто читает это, вход пользователей на серверной части приложения — это еще один способ сказать, что OAuth для серверов, а вход пользователей во внешнем интерфейсе приложения — это OAuth для браузерных приложений JavaScript, таких как React.

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

Is there any advantages for one or the other methods, which are most common and are there any "rules"?

OAuth на стороне сервера обычно используется, когда у нас есть приложение, которому требуется доступ к пользовательским данным, когда они не вошли в систему. Поэтому, если вы пытаетесь создать приложение, которому необходимо получать доступ к электронной почте пользователей каждые десять минут и, возможно, удалять электронные письма на от имени пользователей, вы хотели бы иметь доступ к их учетной записи электронной почты каждые 10 минут, независимо от того, вошли ли они в наше приложение. Итак, для этого варианта использования мы хотим использовать Oauth для сервера.

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

Другие вопросы по теме