akka grpc пользовательская аутентификация - PullRequest
0 голосов
/ 13 февраля 2019

Я использую akka gRpc (scala) и ищу способ аутентификации вызовов grpc с помощью пользовательской аутентификации ответа на вызов.т. е. клиент вызывает службу grpc с некоторым ключом / идентификатором, служба отвечает на запрос, который клиент подписывает чем-то, что сервер может проверить.

Я смотрел на перехватчики grpc, но это хорошая идея?Может ли перехватчик на сервере связаться с клиентом, которому также потребуется перехватчик для ответа на запрос вызова.

Спасибо.

1 Ответ

0 голосов
/ 14 февраля 2019

Проверка подлинности вызов-ответ не очень проста в перехватчиках.Перехватчики в основном управляют метаданными, а клиент отправляет метаданные запроса только в самом начале вызова;у клиента нет возможности отправить ответ на запрос.

В Java / Scala можно создать перехватчик, который бы это делал, но это довольно сложно.Перехватчик может выдать два RPC: первый получает запрос, а второй - «реальный» RPC с ответом на запрос и фактическим запросом.Для этого требуется, чтобы перехватчик буферизовал отправленные сообщения и выполнял действия, аналогичные перехватчику попыток.

У вас может быть отдельный метод RPC "login", который может выполнять вызов-ответ через двунаправленный поток.Но результатом рукопожатия обычно должен быть «токен на предъявителя», который может быть включен в будущие запросы без какого-либо рукопожатия.Но на тот момент это немного лучше, чем OAuth / JWT.

...