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

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

Аутентификация

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

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

Но что, если кто-то украдет мой пароль? Что ж, нам не следует полагаться только на пароли [только]. В последнее время появились новые методы аутентификации, такие как двухфакторная аутентификация (2-FA), которые дают нам дополнительный уровень безопасности. 2-FA, как следует из названия, добавляет второй шаг для проверки того, что человек, который входит в систему, является тем, кем он является.

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

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

Авторизация

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

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

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

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

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

Тебе понравилась эта статья? Мы будем рады услышать от вас.
Если у вас есть какие-либо вопросы, предложения или критические замечания, не стесняйтесь оставлять комментарии ниже.

Унаги - фабрика программного обеспечения, предоставляющая услуги по проектированию и разработке для стартапов, малых и средних компаний. Узнайте больше о нас на нашем веб-сайте, блоге, Twitter или LinkedIn.