Вполне возможно, что серверная среда, на которой вы пытаетесь ее использовать, использует какую-то настройку обратного прокси-сервера, где у сервера OAuth есть внутренний адрес и порт, тогда как ваш клиент OAuth просто увидит внешний маршрутизируемый адрес.
Это приведет к различным базовым строкам подписи на клиенте и сервере и, следовательно, приведет к ошибке авторизации при проверке!
У нас были похожие проблемы в нашей настройке, когда все отлично работает в средах разработки, но не работает на производстве, где у нас совсем другие настройки сети (DMZ и т. Д.).
Поскольку мы используем Nginx, решением было передать внешний хост на внутренний сервер приложений с помощью директивы proxy_set_header:
server {
# The external IP
listen x.x.x.x;
...
location /api {
# Internal app server
proxy_pass http://192.168.1.100:4000;
# Pass the external IP to the app server
proxy_set_header Host $host;
}
....
}
Но сначала проверьте часы на сервере, NTP - ваш друг.