Как организовать работу бэкафронта с API (микросервиса)?

поделитесь ссылкой на документацию, как организовывается работа сервиса в данной ситуации:
СУБД->Микросервис->Сервер->Клиент

Суть в том что сервер представляет из себя информационный портал, через микросервис я планирую реализовать отдельный бизнес-процесс, со своей авторизацией и только API, без фронта, вся обработка данных планируется на сервере, вопрос: микросервис работает с ролямитокенами, где они должны быть?

хранится у клиента, писаться в куки и далее передаваться сервису, или оставаться на сервере и добавляться им при обращение к сервису (то есть иметь свое хранилище пользователей).

Дополнительно:

микросервис аботает с ролямитокенами, где они должны быть?

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

хранится у клиента, писаться в куки и далее передоваться сервису, или оставаться на сервере и добавлятся им при обращение к сервису(тоесть иметь свое хранилище пользователей

А в чем смысл делать разные хранилища для одних и тех же пользователей? Ну если хотите можете сделать общение для аутентификации между сервером и сервисом по апи в целом тут не особо важно.

  • Спасибо за ответ, уточню текущую задачу:
    Есть программа для работы с данными, дектоп, требуется выводить статистику на дашбот, дашбот планируется на Джанго, ребята сейчас заняты, я готовлю API, первый этап, только просмотр, тут авторизация не требуется, а вот на следущем этаме когда перетаскивать будут функционал на Джанго, я как раз буду предоставлять свой функционал(CRUD) из сервиса, в рамках текущей ситуации я планировал проксировать запросы с клиента черз Джанго в сервис, выдавать резальтаты в тот жеДжанго для рендеринга страниц, так вот сама система ролей будет реализовываться в рамках сервиса, я так предпологаю делать.
  • Ответы:

    Если у вас есть авторизация, то я так полагаю это какой-то JWT, в него обычно и кладут роли и claims (не знаю как на русском сказать), JWT отдается клиенту и клиент сам его хранит, потом при запросах к API передается JWT.
    Естественно, что у вас должна быть база пользователей и их ролей, не из воздуха же их брать.
    Обычно для этого есть отдельный API сервис авторизации/регистрации/пр., что связано с аккаунтом.
    Валидация JWT не сложная (я бы сказал, что даже очень легкая), обычно она и обрабатывается принимающим сервисом.

    • Если у вас планируется много микросервисов, то можете сразу подумать о каком-нибудь open source решении SSO (Single Sign-On). Keycloak, как пример.

     

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

     

      • Как организовать работу бэкафронта с API (микросервиса)?Есть ответ
      • 07.04.2024
      Ответить

      Для организации работы бэкафронта с API микросервиса необходимо следовать определенным шагам. Вот несколько рекомендаций, которые помогут вам успешно интегрировать бэкэнд и фронтэнд:

      1. Определите API endpoints: Начните с определения всех необходимых эндпоинтов для ваших микросервисов. Это позволит вам понять, какие данные вы хотите получить из API и какие операции вы хотите выполнить.

      2. Создайте документацию API: Разработайте подробную документацию для вашего API, включая описание каждого эндпоинта, типы запросов, параметры и ожидаемые ответы.

      3. Используйте библиотеки для работы с API: Для удобства работы с API микросервисов рекомендуется использовать специальные библиотеки, которые упростят взаимодействие с сервером. Например, в случае работы с PHP вы можете использовать GuzzleHTTP для отправки HTTP запросов.

      4. Работа с токенами безопасности: Если ваш API требует аутентификации, убедитесь, что вы правильно обрабатываете токены безопасности. Обычно это делается через заголовки запроса или параметры URL.

      5. Обработка ошибок: Осуществите обработку ошибок, которые могут возникнуть при взаимодействии с API. Это поможет предотвратить сбои в работе приложения и улучшит пользовательский опыт.

      Вот пример кода на PHP, который демонстрирует базовый запрос к API микросервиса с использованием GuzzleHTTP:

      request('GET', 'http://api.example.com/data');
       
      echo $response->getBody();
      ?>

      Следуя этим рекомендациям, вы сможете успешно организовать работу бэкафронта с API микросервиса. Удачи в вашем проекте!

    Оставить комментарий