Ошибка OpenId Connect Yii2 — yii2-authclient возвращает ошибку 400 «Токен не предоставлен» когда я пытаюсь получить getUserAttributes ()

Я внедряю OpenId Connect в свое приложение Yii2, используя библиотеку yii2-authclient. Я могу войти и обменять код на токен без проблем. Я следовал большинству примеров кода в Интернете и установил функцию successCallback, которая вызывается при успешном входе пользователя в систему. Это выглядит так:

public function successCallback(ClientInterface $client)
{
$attributes = $client->getUserAttributes();
}

Этот код вызывается, но вызывает getUserAttributes() приводит к следующей ошибке:

Исключение — yii \ authclient \ InvalidResponseException
Запрос не выполнен с кодом: 400, сообщение:
{«error»: «invalid_request», «error_description»: «Токен не предоставлен»}

Журналы на сервере идентификаторов показывают пустых клиента и пользователя, с ошибкой invalid_token,

Я внимательно посмотрел на запрос, и я вижу access_token элемент. Есть идеи, в чем может быть проблема? Я могу предоставить больше информации, если это необходимо.

2

Решение

Я понял. Проблема заключалась в том, что библиотека yii2-authclient отправляла токен в качестве параметра GET, а сервер ID ожидал его в качестве параметра POST. Я обновил библиотеку yii2-authclient, и это решило проблему, поскольку недавнее изменение отправляет параметр как POST вместо GET.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]