Нет подписанного запроса JWT к конечной точке обмена токенами (Google Streamlined Identity Flows)

Я хотел бы реализовать базу данных Streamlined Identity Flow на этой документации: https://developers.google.com/actions/identity/oauth2-assertion-flow

Я создал свой сервер (Node.js + node-oauth2-server) и успешно протестировал с OAuth 2.0 Playground.

Реализован поток кода авторизации, включена привязка аккаунта.

Согласно документации: "Когда Google необходимо получить доступ к ресурсам вашей службы и пользователь входит в свою учетную запись Google, Google отправляет подписанный JWT с информацией о пользователе на конечную точку обмена токенами".

Ожидаемый запрос:

POST /token HTTP/1.1

Host: oauth2.example.com

Content-Type: application/x-www-form-urlencoded

grant_type=urn:ietf:params:oauth:grant-type:jwt-bearer&intent=ACTION&assertion=JWT&consent_code=CONSENT

Проблема в том, что такого запроса нет, конечная точка токена вызывается с grant_type=authorization_codбез информации JWT.

Я попробовал Google Link Account Demo и симулятор действий, те же результаты.

Почему JWT grant_type=urn:ietf:params:oauth:grant-type:jwt-bearer запрос отсутствует? Что нужно изменить, чтобы получать такие запросы?

1 ответ

Я столкнулся с той же проблемой. В моем случае, каждый раз, когда я проверял "Быстрое связывание аккаунта", у меня возникала ошибка во время тестов с симулятором. В результате "бесшовная связь с аккаунтом" не была задействована.

Достаточно было заполнить поле "Ссылка на Условия обслуживания" в информации о приложении, чтобы симулятор мог начать тестирование без ошибок.

Затем я увидел экран, описанный в документе "Утверждения Exchange JWT для токенов", который позволяет выбрать учетную запись Google, после чего Google отправил на мой сервер OAuth2 запрос с grant_type = urn: ietf: params: oauth: grant-type: jwt- на предъявителя и я увидел прибытие знаменитого веб-токена JSON (JWT) (для тестовой аутентификации вы должны использовать https://gala-demo.appspot.com/ с именем проекта с _dev).

В моем случае, теперь бесшовное связывание аккаунтов работает хорошо.

Я надеюсь, что это может помочь.

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