【发布时间】:2020-11-10 15:59:05
【问题描述】:
我正在与 appid-serversdk-nodejs 合作,我的代码可以正常工作,并且在本地和 IBM 云中一切正常。
但我必须手动切换 APP-URL (localhost:3000 vs .eu-gb.mybluemix.net) 我知道我可以在不提供护照设置的情况下做到这一点,但我怎样才能拥有一个适用于的代码库:
- localdev 测试
- ibm 云中的实例
- ibm 中的生产实例 云
我说的是这段代码:
// The redirectUri value can be supplied in three ways:
// 1. Manually in new WebAppStrategy({redirectUri: "...."})
// 2. As environment variable named redirectUri
// 3. If none of the above was supplied the App ID SDK will try to retrieve
// application_uri of the application running on IBM Cloud and append a
// default suffix "/ibm/bluemix/appid/callback"
passport.use(new WebAppStrategy({
tenantId: "removed",
clientId: "removed",
secret: "removed",
oauthServerUrl: "https://eu-gb.appid.cloud.ibm.com/oauth/v4/REMOVED"
redirectUri: "https://REMOVED.eu-gb.mybluemix.net" + CALLBACK_URL
//redirectUri: "http://localhost:3000" + CALLBACK_URL
}));
更新: 我已将数据移至 .env 文件,但这并不能解决我的问题。
tenantId: process.env.APPID_tenantId,
clientId: process.env.APPID_clientId,
secret: process.env.APPID_secret,
oauthServerUrl: process.env.APPID_oauthServerUrl,
redirectUri: process.env.APPID_redirectUri + CALLBACK_URL
现在我必须更改 .env 文件,这会导致新的提交和构建。 我想利用 APP-ID 和我们在 IBM 云中的 Node 服务器之间的连接。
如果我不提供 redirectUri 或整个 WebAppStrategy,我会收到错误
【问题讨论】:
-
你的意思是你目前已经把所有东西都硬编码了吗?查看可用于许多 prog 语言的 .env (dotenv) 之类的东西。您要么在本地环境中读取,要么从云部署中读取绑定
-
@data_henrik,是的,为了让它工作,我把所有东西都硬编码了。我从我的云部署中了解绑定的概念,但我无法让它工作。我正在寻找建议删除什么以及保留/添加什么。我知道如何在 Java 中做到这一点,但在 nodejs (react) 中我没有什么经验
标签: node.js ibm-cloud ibm-appid