Аутентификация сложна и серьезна, перестаньте кодировать ее самостоятельно.
В этой истории вы узнаете, почему кодирование собственной аутентификации в большинстве случаев плохо, и какие другие варианты у вас есть вместо этого.
Давайте начнем!
Почему это плохо?
Серьезный
Ну, во-первых, аутентификация касается не только программирования.
Поскольку он обеспечивает идентификацию людей, вам нужно беспокоиться о многих юридических вещах. Хотя многие разработчики этого не делают, если ваш продукт когда-либо станет большим, это может быть болезненно.
Некоторые компании даже нанимают для этого профессионалов.
Скучный
Работа над многими частями аутентификации мешает вам работать над важными вещами, например над самим продуктом.
В прошлом я выбросил так много проектов, потому что всегда пытался закодировать свою собственную аутентификацию, и через некоторое время мне это надоело.
Безопасность
Аутентификация сложная.
И есть много вещей, которые могут пойти не так, и одна ошибка может вызвать серьезные проблемы.
Это также обычно первая целевая часть веб-сайта для хакеров, и вы действительно не хотите ничем рисковать.
Что я могу использовать вместо этого?
Вариантов, конечно, много, давайте посмотрим, какие они есть.
Поставщики аутентификации
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.