Перейти к содержимому

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

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

После того, как пользователь предоставил свои учётные данные (например, имя пользователя и пароль), мы хотим позволить ему использовать приложение, не требуя повторного ввода этих данных при следующих запросах. Обычно пользователи аутентифицируются при последующих запросах либо с помощью идентификатора сессии, либо с помощью подписанного токена, например JSON Web Token (JWT).

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

В отличие от этого, JWT обычно не проверяются в хранилище данных, что означает, что их нельзя мгновенно отозвать. Преимущество этого подхода — улучшенная задержка и сниженная нагрузка на ваше хранилище данных.

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

Svelte CLI предоставляет возможность настроить Better Auth при создании нового проекта или добавить его в существующий проект.

Если вы хотите реализовать собственную систему аутентификации, руководство Lucia Auth предлагает справочную информацию по аутентификации на основе сессий для веб-приложений с примерами для SvelteKit.