У меня есть приложение nodejs, которое использует сервисы okta для аутентификации.
Приложение, которое я тестировал локально на моем p c, и оно работает нормально, оно начинает прослушивать порт 3000:
const port = process.env.PORT || 3000
app.listen(port, () => console.log(`App listening on port ${port}`))
Пока все хорошо.
Следующим шагом я развернул приложение на heroku, но - к сожалению - оно не работает ...
Я проверил файл журнала и нашел виновника: кажется, герою игнорирует порт, который я установил в своем файле .env на 3000, и он использует (случайное?) значение для порта, 16709, например:
2020-04-17T09: 51: 40.261031+ 00:00 app [web.1]: приложение прослушивает порт 16709
Это объясняет, почему аутентификация не проходит.
Как я вижу в настройках okta, определенно ожидается порт 3000:
Login redirect URIs : http://localhost:3000/authorization-code/callback
Так что я застрял ... Я искал stackoverflow и нашел это: Как войти в систему с помощью okta oauth в новом приложении heroku , но, к сожалению, ответа нет: (
Пожалуйста, кто-нибудь знает, как уменьшить / решить эту проблему порта между герою и октой?
* 102 5 * Обновление :
Я попробовал предложения из ответа и комментариев ниже, но все равно не работает ...
Что я получаю от okta auth:
" ошибка 400, неверный запрос. Ваш запрос привел к ошибке. Идентичный провайдер: неизвестен. Код ошибки: invalid_request. "
А вот несколько журналов от okta:
Результат
Reason mismatched_redirect_uri
Result FAILURE
Серьезность WARN System
DebugContext
DebugData
AuthCode <removed by me>
AuthorizationServer <removed by me>
AuthorizationServerName default
ClientAuthType client_secret_basic
GrantType authorization_code
GrantedScopes
RedirectUri https://my_app.herokuapp.com//authorization-code/callback
RequestId <removed by me>
RequestUri /oauth2/default/v1/token
RequestedScopes
ThreatSuspected false
Url /oauth2/default/v1/token?
LegacyEventType app.oauth2.as.token.grant_failure