В этом посте мы рассмотрим Hasura Auth API и коллекцию Postman, которая является задачей 3 недели 3 стажировки Hasura. Вы можете взглянуть на наше Моделирование схемы, чтобы лучше понять эту задачу.

Управление пользователями является важной частью приложения. Это позволяет вам управлять пользователями, которые используют ваше приложение. Он включает в себя регистрацию, вход в систему, выход из системы, сброс пароля и т. д. Для управления пользователями Hasura предлагает услугу аутентификации. Вы можете обратиться к оригинальной документации здесь — Auth Service by Hasura.

Что такое служба аутентификации?

Служба аутентификации является частью каждого проекта Hasura. Он имеет обширные API для управления пользователями, ролями и интегрируется с различными поставщиками входа в социальные сети. Это конечные точки, которые нас интересуют для создания нашего приложения ExTra Expense Tracker.

Как это работает

Hasura Auth предоставляет HTTP API для аутентификации и авторизации удостоверений на платформе Hasura. Этот API может использоваться непосредственно внешними интерфейсами, такими как мобильные приложения, приложения для браузера, приложения для устройств, а также любая программа на стороне сервера.

Основные действия

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

Шаги по использованию Hasura Auth API

  1. Войдите в свою консоль и на домашней странице под запущенными службами в Auth нажмите на статус. Теперь запишите свою внешнюю конечную точку. В нашем случае это http://auth.c100.hasura.me/.

2. Далее откройте приложение Почтальон и настройте его следующим образом:

  • Выберите вкладку Body и убедитесь, что вы указали, что хотите сделать запрос POST. Конечная точка, к которой вы должны отправить запрос, будет различаться в зависимости от того, является ли запрос запросом на регистрацию, запросом на вход, запросом на обновление информации о пользователе или запросом на выход из системы.
    Для регистрации: http://external -endpoint/signup
    Для входа: http://external-endpoint/login
    Для просмотра информации о пользователе: http:/ /external-endpoint/user/account/info
    Для выхода: http://external-endpoint/user/logout
  • Укажите, что вы хотите предоставить необработанные данные, и выберите Content-Type как JSON(application/json).

Теперь вы готовы использовать API Hasura Auth.

  1. Зарегистрируйте пользователя

Предположим, что новый пользователь хочет зарегистрироваться, мы можем использовать следующий запрос JSON:

Новый пользователь получает идентификатор и получает роль «пользователь». В ответе также указывается «auth_token» для пользователя.

Каждому пользователю, созданному с помощью конечной точки /signup, назначается роль user.

2) Войти

Чтобы новый зарегистрированный пользователь мог войти в приложение, мы можем использовать следующий запрос JSON:

Когда пользователь входит в систему, для пользователя создается новый токен сеанса. Он устанавливается как файл cookie и также возвращается в auth_token ответа. Токен и связанная с ним информация о пользователе хранятся в хранилище сеансов.

3) Информация о пользователе

Могут быть сценарии, в которых мы можем захотеть получить информацию о текущем пользователе. В таких случаях мы делаем запрос информации о пользователе.

Для просмотра информации о пользователе обязательно измените тип запроса на "GET".

Чтобы сделать запрос, на вкладке Заголовки добавьте новый ключ «Авторизация» и укажите его значение как «Bearer auth_token».

Используя эту конечную точку, можно получить информацию о текущем вошедшем в систему пользователе.

4) Выйти

Чтобы выйти из приложения, пользователь должен иметь возможность отправлять запросы на выход. Этого можно достичь следующим образом:

Выполнение POST-запроса к указанной конечной точке и добавление нового ключа на вкладке «Заголовки». Ключ должен быть указан как «Авторизация», а его значение должно быть указано как «Bearer auth_token».

После выполнения запроса мы получаем ответ, который подтверждает, что мы успешно вышли из системы.

Коллекция API, используемая для аутентификации: https://www.getpostman.com/collections/b33b8041032c9111324f.

Использованная литература:

  1. Документация для Hasura Auth API
  2. Примеры Hasura Auth API

-Акаш Дабхи и Винит Неоги