Сбросить идентификационный токен gcloud? - PullRequest
0 голосов
/ 18 февраля 2020

Я работаю над сервисом gcloud, который не является общедоступным, т. Е. Вам необходимо подключиться к нему с помощью набора заголовков авторизации с вашим токеном идентификации gcloud.

В документах использовался curl, чтобы показать, как использовать это из командной строки, однако, поскольку мой случай касается веб-приложения, я использовал расширение браузера для вставки этого заголовка при подключении к страницам.

Глупый я, я забыл выключить, если после того, как я это сделал, что привело к при доступе к нескольким веб-сайтам с этим токеном, указанным в заголовке запроса. Это означает, что некоторые третьи лица могут теперь иметь этот код.

2 вопроса, касающихся этого:

  • Насколько это плохо? Для чего этот токен может быть использован злоумышленниками?
  • Как мне сбросить / отменить / обновить этот токен?

1 Ответ

2 голосов
/ 18 февраля 2020

Идентификационные токены являются JWT и являются токенами на предъявителя (как вы, несомненно, знаете) и обычно включают в себя короткий срок действия sh (60 минут).

Как вы предполагаете, вы должны быть очень осторожны с их можно использовать недобросовестно (пока они действительны).

Вы можете запросить свой JWT, используя (заслуживающий доверия!) инструмент для проверки срока действия:

Например https://jwt.io/

Я не уверен (не значит, что нет), есть ли способ принудительного истечения срока действия выданных Google JWT

Обновление:

Говорил с Гуглер, который очень хорошо проинформирован об аутентификации и подтвердил, что вы должны ждать истечения срока действия.

Обновление:

Независимо от этого я напомнил себе, что у Google есть (очень надежная) конечная точка для проверки токенов (я может просто никогда не запомнить URL, но) это:

TOKEN=$(gcloud auth print-identity-token)
curl \
--request GET \
https://oauth2.googleapis.com/tokeninfo?id_token=${TOKEN}

И, для полноты, для токенов доступа:

TOKEN=$(gcloud auth print-access-token)
curl \
--request GET \
https://oauth2.googleapis.com/tokeninfo?access_token=${TOKEN}
...