如何解决heroku和okta之间的端口问题?

问题描述 投票:0回答:1

我有一个使用okta服务进行身份验证的nodejs应用。

我在计算机上本地测试的应用程序正常运行,它开始在端口3000上监听:

const port = process.env.PORT || 3000
app.listen(port, () => console.log(`App listening on port ${port}`))

到目前为止,一切都很好。下一步,我在Heroku上部署了该应用程序,但是-不幸的是-它不起作用...我检查了日志文件,发现了罪魁祸首:似乎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,发现了这个:How login with okta oauth in new heroku app,但不幸的是没有答案:(

[请,有人知道如何缓解/解决heroku和okta之间的端口问题吗?

node.js heroku port okta
1个回答
0
投票

app Heroku在内部设置了一个随机端口,但通过标准https端口(443)将您的应用公开。因此,如果您在heroku上有一个名为:nodejs-okta的应用程序,则可公开访问的URL为:

https://nodejs-okta.herokuapp.com

您需要在okta应用设置中将此网址列入白名单,以便重定向正常工作:

https://nodejs-okta.herokuapp.com/authorization-code/callback

注意:我在Okta的开发者倡导团队中工作

编辑:一个字

© www.soinside.com 2019 - 2024. All rights reserved.