Laravel7 Passport: получение "Undefined index: aud" при попытке отправить запрос на "api / user" - PullRequest
1 голос
/ 06 мая 2020

Я использую Laravel 7 и Vue 2 вместе с паспортом. Я пытаюсь подключиться к конечной точке api / user, но получаю эту ошибку.

ПРИМЕЧАНИЕ. Я прошел через весь процесс реализации паспорта, упомянутый в https://laravel.com/docs/7.x/passport. но все равно получаю эту ошибку.

вызов api в моем Vue компоненте:

created() {
   axios.get("/api/user")
      .then(res => console.log(res.data))
      .catch(err => console.log(err))
}

Ошибка: введите описание изображения здесь

Есть ли решение этой проблемы?

Ответы [ 3 ]

1 голос
/ 06 мая 2020

Код сервера ожидает токен «aud» («аудитория») , который не предоставляется:

OID C имеет идентификаторы помимо токенов доступа. OID C spe c явно указывает на использование утверждения aud в токенах ID. (openid-connect-core-1.0)

aud

ТРЕБУЕТСЯ . Аудитория, для которой предназначен этот идентификатор. Он ДОЛЖЕН содержать OAuth 2.0 client_id Проверяющей стороны в качестве значения аудитории. Он МОЖЕТ также содержать идентификаторы для других аудиторий. В общем случае значение aud представляет собой массив строк с учетом регистра. В общем особом случае, когда существует одна аудитория, значение aud МОЖЕТ быть строкой с учетом регистра. .

Приведенный выше ответ предлагает некоторые обходные пути, если вы не можете предоставить требуемую информацию.

0 голосов
/ 07 мая 2020

Обновление до версии паспорта 9.0.1 решило проблему.

0 голосов
/ 06 мая 2020

Как я вижу, это связано с последней версией Passport (v9). Попробуйте использовать версию 8.5, чтобы убедиться, проверьте и посмотрите здесь https://github.com/laravel/passport

...