Google Cloud IAP, авторизация с токеном на предъявителя выдает код ошибки 13, а экземпляр ядра приложения никогда не достигается

Я пытаюсь настроить облачный IAP для приложения, размещенного в облаке Google.

Вход в приложение хорошо работает через Интернет, и вы будете перенаправлены на страницу аутентификации Google и перенаправлены обратно на веб-сайт с токеном сеанса, установленным в виде файла cookie.

Аутентификация через не-веб-интерфейс, следуя руководству по программной аутентификации, пробует как описанный там способ командной строки, так и с использованием iOS SDK. В обоих случаях вход в систему работает как надо, и я получаю id_token из процесса входа в систему. НО, когда я делаю запрос, как следует:

curl --verbose --header 'Authorization: Bearer ID_TOKEN' https://an-app.appspot.com/api/user

Я ВСЕГДА получаю следующий ответ:

There was a problem with your request. Error code 13

Неважно, что ID_TOKEN в запросе, ответ всегда код ошибки 13. Если я не укажу заголовок авторизации, я буду перенаправлен на страницу входа Google.

Есть ли какие-либо настройки или конфигурации, которые мне не хватает?

1 ответ

TLDR;

Проблема заключалась в неправильной конфигурации полезной нагрузки auth, в моем случае это была целевая аудитория, которая не была правильной. Вот соответствующий формат:

const target_audience = "12345.apps.googleusercontent.com"; // this is the IAP client ID that can be obtained by clicking 3 dots -> Edit OAuth Client in IAP configuration page

подробности

У меня была та же проблема, которую я решил, используя смесь между этим постом: Как аутентифицировать облачные функции Google для доступа к защищенным конечным точкам ядра приложения и этим Gist: https://gist.github.com/plmrry/f78136bba68f810622bc2840497ef7e1

Другие вопросы по тегам