У меня есть веб-приложение, в котором я реализовал делегированную аутентификацию через OID Google C. (Т. Е. Браузер перенаправляет пользователей в Google, они проходят аутентификацию и возвращаются в мое приложение). Мое приложение декодирует токены доступа Google и id для авторизации пользователя, и все работает нормально.
У меня есть еще одно требование, при котором пользователи моего приложения могут получать доступ к API моего приложения с помощью curl или других сценариев. Там не будет никакого взаимодействия с браузером. Я все еще хочу положиться на Google, чтобы доверять пользователю, кто она говорит, что она.
Один рабочий процесс, о котором я могу подумать: пользователь передает свой Google ID и пароль при вызове моего API, мое приложение выполняет поток предоставления пароля и получает токен от имени пользователя и использует токен для проверки доступа к API.
Однако это не практично, поскольку пользователям будет неудобно делиться своими учетными данными google с помощью curl с сторонним приложением, таким как мое.
Какой возможный рабочий процесс я могу использовать, чтобы - пользователь мог получить свой id_token каким-то образом через Google и передает его в токене на предъявителя при вызове моего API. Затем я могу проверить токен. Какие у меня варианты без какого-либо взаимодействия с браузером?