Аутентификация сложна и серьезна, перестаньте кодировать ее самостоятельно.

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

Давайте начнем!

Почему это плохо?

Серьезный

Ну, во-первых, аутентификация касается не только программирования.

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

Некоторые компании даже нанимают для этого профессионалов.

Скучный

Работа над многими частями аутентификации мешает вам работать над важными вещами, например над самим продуктом.

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

Безопасность

Аутентификация сложная.

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

Это также обычно первая целевая часть веб-сайта для хакеров, и вы действительно не хотите ничем рисковать.

Что я могу использовать вместо этого?

Вариантов, конечно, много, давайте посмотрим, какие они есть.

Поставщики аутентификации

TL;DR – бесплатная или платная, безопасная и простая аутентификация.

Существует множество провайдеров, таких как Auth0, Firebase, AWS Cognito и Ory, которые предоставляют вам API для аутентификации.

Эти решения специализируются на том, что они делают, и охватывают почти все варианты использования.

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

Если вы серьезно относитесь к своему продукту, рекомендуется использовать поставщика, если вы не имеете опыта аутентификации.

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

Они также предоставляют типы аутентификации B2C, B2B и другие для любого варианта использования, в котором они могут вам понадобиться.

Авторизация0



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



AWS Cognito



Ори



Инструменты с открытым исходным кодом

TL;DR. Обычно бесплатная аутентификация требует немного больше технической работы.

Существуют также варианты с открытым исходным кодом, такие как Supabase, Keycloak и Logto.

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

Отличие здесь в том, что обычно не привлекаются сторонние компании.

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

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

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

Аутентификация надбазой



Плащ для ключей



Лого



Фреймворки и библиотеки

TL;DR – более простая и бесплатная аутентификация, требующая значительных технических усилий.

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

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

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

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

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

Аутбосс



Последние мысли

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

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

Вот и все. Спасибо, что прочитали эту историю!

Если вам понравилась история, не забудьте похлопать! И не стесняйтесь спрашивать меня о чем угодно.

Подпишись на меня в Твиттере:



Поддержите меня на Патреоне:



Дополнительные материалы на PlainEnglish.io. Подпишитесь на нашу бесплатную еженедельную рассылку новостей. Подпишитесь на нас в Twitter, LinkedIn, YouTube и Discord.