Авторизация
Авторизация в Kodzero нужна, чтобы управлять доступом к данным и безопасно работать с приватными записями коллекций.
Если для коллекции (или отдельных методов) выбран уровень доступа User или Workspace, запросы должны выполняться от имени авторизованного пользователя. Т.е. с токеном доступа в заголовке:
Пример: Authorization: Bearer ACCESS_TOKEN
🔐 Настройка уровней доступа
Настройка выполняется в настройках API коллекции: можно задать уровень как для всей коллекции, так и отдельно для каждого метода.
Коллекция пользователей
Для начала необходимо создать коллекцию, в которой будут храниться пользователи и которая будет использоваться для аутентификации и авторизации.
- Создайте коллекцию типа «Пользователи».
- Настройте стратегию входа (например, Email/Password).
- Перейдите в коллекцию типа «Данные» и установите нужные уровни доступа. Например, установите уровень доступа User для всей коллекции. Также укажите коллекцию, в которой хранятся ваши пользователи (созданную на шаге 1).
- Выполняйте запросы с токеном авторизованного пользователя.
Запросы с токеном
Любой метод, требующий авторизации пользователя предполагает отправку запроса с токеном в заголовке Authorization: Bearer ACCESS_TOKEN
Технически Kodzero использует JWT-токены для авторизации запросов API.
📚 Что такое access/refresh токены?
Токены — это временные ключи доступа, которые генерируются при аутентификации пользователя (входе в учётную запись). Токена два и они работают в паре. При каждом запросе к серверу, отправляется access-токен (токен доступа, имеющий короткий срок жизни). Когда срок жизни access-токена будет окончен, необходимо запросить у сервера выдачу нового access. Такой запрос делается с refresh-токеном. Kodzero SDK делает всё это автоматически.
Одновременные сессии
Сейчас один пользователь может быть одновременно авторизован до 4 раз (например, веб, мобильное приложение и другие устройства).
Новые входы не завершают предыдущие активные сессии автоматически.
В будущих версиях лимит одновременных сессий станет настраиваемым.
Пример работы
Вы делаете сервис заметок, состоящий из двух коллекций:
- коллекция
my-usersхранит пользователей и отвечает за вход; - коллекция
notesработает на уровне доступе User, т.е. пользователи могут работать только со своими записями.
Сначала необходимо выполнить вход пользователя в свою учетную запись, воспользовавшись API коллекции users. Затем пользователь может читать, создавать, редактировать и удалять свои записи из коллекции notes, используя токен, полученный при входе в учетную запись.
🔐 Авторизация в SDK
Готовые методы авторизации и работы с защищёнными коллекциями → SDK Auth

