Используйте Id Token из ScriptService для вызовов API к IAP (Identity Aware Proxy)

Я делаю надстройку (надстройку боковой панели к Google Calendar), и надстройка должна вызывать API, размещенный за Google IAP (Identity Aware Proxy). IAP требует токен openid, а токен id должен быть предоставлен службой Google OAuth2 с помощью параметра аудитории. Я могу заставить это работать, включив эту библиотеку oauth2, однако пользователь должен войти в систему дважды . Сначала к аддону, а потом к сервису IAP. Поскольку оба входа в Google и с одним и тем же пользователем, кажется возможным, что им нужно будет войти только один раз. Служба ScriptApp в скрипте приложений имеет функцию getIdentityToken (), но этот токен не работает с IAP, потому что он не использовал параметр аудитории при создании токена. Кто-нибудь знает способ вызвать IAP с токеном, полученным из ScriptApp, чтобы пользователю не приходилось дважды входить в систему? Без прямого доступа к токену обновления я не смог бы сам создать токен id с параметром аудитории.


person Michael    schedule 02.12.2019    source источник


Ответы (1)


В настоящее время это невозможно. Вы, как пользователь, должны будете пройти два разных потока аутентификации OAuth, чтобы иметь возможность использовать IAP в своем приложении.

Это, как вы правильно описали, связано с текущим потоком аутентификации надстройки (который не позволяет вам включать параметр «аудитория») и невозможностью получить токен обновления из текущего сеанса.

Если вас интересует возможность включения вашего IAP в процесс аутентификации надстройки, я предлагаю вам отправить запрос функции в общедоступный трекер проблем Google (https://issuetracker.google.com/issues).

person carlesgg97    schedule 02.12.2019
comment
Спасибо за отзыв, я сообщил о проблеме в этой теме. Тем временем я предположил, что могу использовать другой бэкэнд, отличный от IAP, который принимает токены доступа или идентификатора от службы сценариев. К сожалению, IAP настолько хорош. - person Michael; 02.12.2019