Процесс проверки подлинности действий Google не отправляет токен JWT. Как проверить предоставленный токен? - PullRequest
0 голосов
/ 30 декабря 2018

Я пытаюсь реализовать проверку подлинности OAuth для моего бэкэнда google-Actions, соответствующего Google Home, но я не уверен, как проверить токен, который Google дает мне в заголовке авторизации, я ожидал токен JWT, но онэто не так.

Я делаю свой бэкэнд для express и node.js с помощью express-jwt для синтаксического анализа токена и jwks-rsa для получения ключа шифрования.Я настроил своего клиента Auth0 свободно, основываясь на этом руководстве , и оно работает нормально, экран входа в систему отображается и работает просто отлично.

Пример токена, который мне отправляет Google, - это что-тостроки

authorization:"Bearer msuVRoQGJ_aPqH-zShLq053aAEVmlHqi"

Я ожидал, что Google свяжется с Auth0, чтобы обменять токен JWT, а затем использовать его для аутентификации в моем API, отправив его в качестве заголовка авторизации.Но я не знаю, что отправляет токен на предъявителя от Google или как его проверить.

1 Ответ

0 голосов
/ 31 декабря 2018

По умолчанию Auth0 отправляет вам непрозрачный токен доступа , когда вы авторизуетесь для не-пользовательского API (аналогично тому, который вы получили).Токены доступа JWT выдаются только для пользовательских API.Таким образом, чтобы получить его в формате JWT, вам нужно будет создать API в Auth0 и установить API identifier, который вы определили как параметр audience.

Вам будут выданы токены доступа JWT для пользовательских APIи вы можете проверить и проверить его целостность (есть пример того, как это сделать в Nodejs): https://auth0.com/docs/api-auth/tutorials/verify-access-token

...