Skip to content

Авторизация

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

Если для коллекции (или отдельных методов) выбран уровень доступа User или Workspace, запросы должны выполняться от имени авторизованного пользователя. Т.е. с токеном доступа в заголовке:

Пример: Authorization: Bearer ACCESS_TOKEN

🔐 Настройка уровней доступа

Настройка выполняется в настройках API коллекции: можно задать уровень как для всей коллекции, так и отдельно для каждого метода.

Коллекция пользователей

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

  1. Создайте коллекцию типа «Пользователи».
  2. Настройте стратегию входа (например, Email/Password).
  3. Перейдите в коллекцию типа «Данные» и установите нужные уровни доступа. Например, установите уровень доступа User для всей коллекции. Также укажите коллекцию, в которой хранятся ваши пользователи (созданную на шаге 1).
  4. Выполняйте запросы с токеном авторизованного пользователя.

Запросы с токеном

Любой метод, требующий авторизации пользователя предполагает отправку запроса с токеном в заголовке 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