Аутентификация
Аутентификация и авторизация — это два процесса безопасности, которые помогают вам контролировать доступ к различным частям вашего сайта или приложения. Аутентификация — это процесс проверки личности посетителя, а авторизация — процесс предоставления посетителям доступа к защищенным маршрутам и ресурсам.
Аутентификация позволяет настраивать области вашего сайта для авторизованных пользователей и обеспечивает наивысшую защиту для личной или конфиденциальной информации. Библиотеки аутентификации (например, Lucia Auth, Auth.js) предоставляют утилиты для различных методов аутентификации, таких как вход по электронной почте и OAuth-провайдеры.
Официального решения для аутентификации в Astro нет, но вы можете найти “auth” интеграции сообщества в каталоге интеграций.
Lucia — это библиотека аутентификации на основе сессий, не зависящая от фреймворка, с отличной поддержкой Astro.
Установка
Заголовок раздела УстановкаУстановите Lucia с помощью выбранного вами менеджера пакетов.
Конфигурация
Заголовок раздела КонфигурацияИспользуйте руководство Lucia “Getting started in Astro” для инициализации Lucia с адаптером и настройки базы данных для хранения пользователей и сессий.
Использование
Заголовок раздела ИспользованиеСледуйте одному из полных руководств Lucia по Astro, чтобы добавить аутентификацию по имени пользователя и паролю или GitHub OAuth в ваш проект Astro.
Следующие шаги
Заголовок раздела Следующие шаги- Пример проекта Astro + Lucia OAuth
- Пример проекта Astro + Lucia с использованием имени пользователя и пароля
Auth.js
Заголовок раздела Auth.jsAuth.js — это решение для аутентификации, не зависящее от фреймворка. Для Astro доступен адаптер фреймворка сообщества auth-astro
.
Установка
Заголовок раздела УстановкаИспользуйте команду astro add
в предпочитаемом менеджере пакетов для добавления интеграции auth-astro
.
Ручная установка
Заголовок раздела Ручная установкаЧтобы установить auth-astro
вручную, установите требуемый пакет для вашего менеджера пакетов:
Затем примените интеграцию к вашему файлу astro.config.*
с помощью свойства integrations
:
Конфигурация
Заголовок раздела КонфигурацияСоздайте файл auth.config.mjs
в корне вашего проекта. Добавьте любых поставщиков аутентификации или методы, которые вы хотите поддерживать, вместе с любыми переменными среды, которые они требуют.
Создайте файл .env
в корне проекта, если его еще нет. Добавьте следующие две переменные окружения. AUTH_SECRET
должна быть закрытой строкой, состоящей минимум из 32 символов.
Использование
Заголовок раздела ИспользованиеВы можете добавить кнопки входа и выхода, используя модуль auth-astro/client
в теге script или компоненте фреймворка на стороне клиента.
Вы можете получить сессию пользователя с помощью метода getSession
.