Перехватывать вызовы gRPC C ++ на сервере и клиенте
Основная задача, которую я хочу сделать: предоставитьAuthenticate
служба на сервере gRPC, которую все клиенты сначала вызывают (и предоставляют имя пользователя и пароль) для получения токена авторизации (скажем, JWT). Затем, когда клиент выполняет другие сервисные вызовы, токен должен быть проверен.
Это может быть достигнуто в API Java легкоServerInterceptor
а такжеClientInterceptor
интерфейсы. ВServerInterceptor
Я могу проверить, какая служба вызывается, и решить, разрешить или отклонить вызов. НаClientInterceptor
сторона, я могу добавить токен авторизации в качестве метаданных для каждого вызова службы.
Есть этоAuthMetadataProcessor
абстрактный класс в C ++. Но не уверен, как выполнить задачу, аналогичную API Java. Есть ли способ сделать подобные вещи в C ++ API?