Yandex авторизация в next-auth с адаптером (invalid_grant)

Стек: Next 14, next-auth 4, yandex provider, hasura adaptor.

Без провайдера авторизация проходит успешно. Когда подключаю адаптер (использую стратегию jwt) падает ошибка invalid_grant (code has expired). Хотя юзер записан в базу со всеми данными. И ему приходится нажимать авторизацию снова.

Причина в том, что next-auth отправляет два запроса на token endpoint. Так как grant код одноразовый, то я получается такая ошибка. Я думаю так.

С гугл и гитхаб такого нет.

Redirect в яндекс oauth консоли: http: localhost:3000/api/auth/callback/yandex.

Проверял на vercel. Та же ошибка.

Если в гугл хроме включить slow 3g ошибка пропадает.

Пытался в middleware ставить задержку на запросы в api/auth/callback/yandex. Локально работает. Но у меня деплой на vercel. А там не работает. Пробовал разные интервалы.

Сталкивался ли кто-то? Как лечили? Есть ли идеи как обойти? Ошибка думаю со стороны next-auth.

На их гите оставил issue. Пока ноль реакции.


Ответы (0 шт):