Как использовать JWT с grpc?

Я пытаюсь понять проверку подлинности grpc. Судя по примерам, grpc поддерживает ssl/tls и токены Google...

Я также рассматривал веб-токены json в качестве средства аутентификации.

Я не уверен, что это даже правильный способ думать об этом, но как мне использовать JWT в сочетании с grpc?

Является ли JWT «токеном», который используется в примере oauth2?

Относится ли это к открываемому файлу roots.pem?

Я чувствую, что очень мало знаю об аутентификации/токенах. Я пытался найти примеры Python, в которых используются grpc и JWT, и это был в основном бесплодный поиск.

Я думаю об этом неправильно?


person Zack    schedule 16.09.2016    source источник


Ответы (1)


Обычный подход JWT использует учетные данные служебной учетной записи, которые предоставляются средой в известном месте. Это то, что «Учетные данные Google по умолчанию» в примерах. Их, безусловно, проще всего заставить работать, и они обладают лучшими характеристиками безопасности и производительности.

OAuth2 также поддерживается с помощью токена OAuth. Это полезно для таких вещей, как 3-сторонний OAuth или интеграция в уже существующее приложение, которое напрямую использует токены.

roots.pem это нечто другое. Это для аутентификации на основе TLS с пользовательскими центрами сертификации.

Тем не менее, в настоящее время в Python нет примера JWT. Следите за открытой проблемой. В сегодняшнем примере используются учетные данные служебной учетной записи, но затем они преобразуются в обычный токен OAuth.

person Eric Anderson    schedule 16.09.2016
comment
Не могли бы вы расширить это? Я просматриваю документацию по учетной записи службы, найденную на сайте Google, и немного запутался. Нужно ли мне регистрировать этот проект в Google? - person Zack; 19.09.2016
comment
Хорошо известное местоположение ... будет ли это серверная сторона местоположения, клиентская сторона, и то, и другое? - person Zack; 19.09.2016
comment
Кроме того, есть ли контрапункт к примеру С++ MetadataCredentialsPlugin для python? Это AuthMetadataPlugin? - person Zack; 19.09.2016