Я делаю надстройку (надстройку боковой панели к Google Calendar), и надстройка должна вызывать API, размещенный за Google IAP (Identity Aware Proxy). IAP требует токен openid, а токен id должен быть предоставлен службой Google OAuth2 с помощью параметра аудитории. Я могу заставить это работать, включив эту библиотеку oauth2, однако пользователь должен войти в систему дважды . Сначала к аддону, а потом к сервису IAP. Поскольку оба входа в Google и с одним и тем же пользователем, кажется возможным, что им нужно будет войти только один раз. Служба ScriptApp в скрипте приложений имеет функцию getIdentityToken (), но этот токен не работает с IAP, потому что он не использовал параметр аудитории при создании токена. Кто-нибудь знает способ вызвать IAP с токеном, полученным из ScriptApp, чтобы пользователю не приходилось дважды входить в систему? Без прямого доступа к токену обновления я не смог бы сам создать токен id с параметром аудитории.
Используйте Id Token из ScriptService для вызовов API к IAP (Identity Aware Proxy)
Ответы (1)
В настоящее время это невозможно. Вы, как пользователь, должны будете пройти два разных потока аутентификации OAuth, чтобы иметь возможность использовать IAP в своем приложении.
Это, как вы правильно описали, связано с текущим потоком аутентификации надстройки (который не позволяет вам включать параметр «аудитория») и невозможностью получить токен обновления из текущего сеанса.
Если вас интересует возможность включения вашего IAP в процесс аутентификации надстройки, я предлагаю вам отправить запрос функции в общедоступный трекер проблем Google (https://issuetracker.google.com/issues).
person
carlesgg97
schedule
02.12.2019
Спасибо за отзыв, я сообщил о проблеме в этой теме. Тем временем я предположил, что могу использовать другой бэкэнд, отличный от IAP, который принимает токены доступа или идентификатора от службы сценариев. К сожалению, IAP настолько хорош.
- person Michael; 02.12.2019