поделитесь ссылкой на документацию, как организовывается работа сервиса в данной ситуации:
СУБД->Микросервис->Сервер->Клиент
Суть в том что сервер представляет из себя информационный портал, через микросервис я планирую реализовать отдельный бизнес-процесс, со своей авторизацией и только API, без фронта, вся обработка данных планируется на сервере, вопрос: микросервис работает с ролямитокенами, где они должны быть?
хранится у клиента, писаться в куки и далее передаваться сервису, или оставаться на сервере и добавляться им при обращение к сервису (то есть иметь свое хранилище пользователей).
Дополнительно:
Содержание
микросервис аботает с ролямитокенами, где они должны быть?
Ну честно говоря из описания не совсем понятно, в чем смысл делать отдельную авторизацию для микросервиса, если вы хотите делать jwt, то он обычно хранится в куках, есть еще вариант конечно сделать авторизацию по api, но обычно делается в случаях когда между собой взаимодействуют отдельные сервисы. Если у вас есть взаимодействие с фронтом, то данные для аутентификации стоит хранить в куках, роли можете брать из базы или если это не критично, можете засунуть их в jwt токен (если его используете для аутентификации).
хранится у клиента, писаться в куки и далее передоваться сервису, или оставаться на сервере и добавлятся им при обращение к сервису(тоесть иметь свое хранилище пользователей
А в чем смысл делать разные хранилища для одних и тех же пользователей? Ну если хотите можете сделать общение для аутентификации между сервером и сервисом по апи в целом тут не особо важно.
Есть программа для работы с данными, дектоп, требуется выводить статистику на дашбот, дашбот планируется на Джанго, ребята сейчас заняты, я готовлю API, первый этап, только просмотр, тут авторизация не требуется, а вот на следущем этаме когда перетаскивать будут функционал на Джанго, я как раз буду предоставлять свой функционал(CRUD) из сервиса, в рамках текущей ситуации я планировал проксировать запросы с клиента черз Джанго в сервис, выдавать резальтаты в тот жеДжанго для рендеринга страниц, так вот сама система ролей будет реализовываться в рамках сервиса, я так предпологаю делать.
Ответы:
Если у вас есть авторизация, то я так полагаю это какой-то JWT, в него обычно и кладут роли и claims (не знаю как на русском сказать), JWT отдается клиенту и клиент сам его хранит, потом при запросах к API передается JWT.
Естественно, что у вас должна быть база пользователей и их ролей, не из воздуха же их брать.
Обычно для этого есть отдельный API сервис авторизации/регистрации/пр., что связано с аккаунтом.
Валидация JWT не сложная (я бы сказал, что даже очень легкая), обычно она и обрабатывается принимающим сервисом.
- Если у вас планируется много микросервисов, то можете сразу подумать о каком-нибудь open source решении SSO (Single Sign-On). Keycloak, как пример.
Для решения данной проблемы вы можете воспользоваться услугами фрилансеров. Мы выполним необходимую работу быстро и качественно.
Оставить комментарий Отменить
Ответы
- Есть ответ! к записи Как уменьшить масштаб меньше 100% в Windows 10 (22H2)
- Есть ответ! к записи Аналоги CloudFlare в России?
- Есть ответ! к записи Аналоги CloudFlare в России?
- Есть ответ! к записи Как называется человек, который дизайн придумает для сайта и сверстает его?
- Есть ответ! к записи Можно ли установить Яндекс.Диск на АльтЛинукс?
- Есть ответ! к записи Картинки мутные только на сафари, есть выход?
- Есть ответ! к записи Keenetic. Как настроить SSTP клиент с сертификатом?
- Есть ответ! к записи Чем заменить executor в aiogram 3?
Для организации работы бэкафронта с API микросервиса необходимо следовать определенным шагам. Вот несколько рекомендаций, которые помогут вам успешно интегрировать бэкэнд и фронтэнд:
1. Определите API endpoints: Начните с определения всех необходимых эндпоинтов для ваших микросервисов. Это позволит вам понять, какие данные вы хотите получить из API и какие операции вы хотите выполнить.
2. Создайте документацию API: Разработайте подробную документацию для вашего API, включая описание каждого эндпоинта, типы запросов, параметры и ожидаемые ответы.
3. Используйте библиотеки для работы с API: Для удобства работы с API микросервисов рекомендуется использовать специальные библиотеки, которые упростят взаимодействие с сервером. Например, в случае работы с PHP вы можете использовать GuzzleHTTP для отправки HTTP запросов.
4. Работа с токенами безопасности: Если ваш API требует аутентификации, убедитесь, что вы правильно обрабатываете токены безопасности. Обычно это делается через заголовки запроса или параметры URL.
5. Обработка ошибок: Осуществите обработку ошибок, которые могут возникнуть при взаимодействии с API. Это поможет предотвратить сбои в работе приложения и улучшит пользовательский опыт.
Вот пример кода на PHP, который демонстрирует базовый запрос к API микросервиса с использованием GuzzleHTTP:
Следуя этим рекомендациям, вы сможете успешно организовать работу бэкафронта с API микросервиса. Удачи в вашем проекте!