我遵循了这篇Okta with expressjs教程,使用两者(https://developer.okta.com/blog/2019/05/31/simple-auth-express-fifteen-minutes)创建了一个简单的身份验证,并最终克隆了存储库来对其进行操作。安装了这些包,但在运行npm start时抛出了一些错误。所以我决定安装每个包的最新版本。再次尝试运行该项目,但这一次弹出以下错误:
> okta_tutorial@1.0.0 start /Users/tomas/Documents/software/okta_tutorial
> nodemon .
[nodemon] 2.0.2
[nodemon] to restart at any time, enter `rs`
[nodemon] watching dir(s): *.*
[nodemon] watching extensions: js,mjs,json
[nodemon] starting `node .`
/Users/tomas/Documents/software/okta_tutorial/node_modules/@okta/configuration-validation/dist/lib.js:144
throw new ConfigurationValidationError('Your appBaseUrl is missing.');
^
Error: Your appBaseUrl is missing.
at new ConfigurationValidationError (/Users/tomas/Documents/software/okta_tutorial/node_modules/@okta/configuration-validation/dist/lib.js:29:141)
at configUtil.assertAppBaseUrl (/Users/tomas/Documents/software/okta_tutorial/node_modules/@okta/configuration-validation/dist/lib.js:144:11)
at new ExpressOIDC (/Users/tomas/Documents/software/okta_tutorial/node_modules/@okta/oidc-middleware/src/ExpressOIDC.js:79:5)
at Object.<anonymous> (/Users/tomas/Documents/software/okta_tutorial/index.js:24:14)
at Module._compile (internal/modules/cjs/loader.js:1147:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:1167:10)
at Module.load (internal/modules/cjs/loader.js:996:32)
at Function.Module._load (internal/modules/cjs/loader.js:896:14)
at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:71:12)
at internal/main/run_main_module.js:17:47
[nodemon] app crashed - waiting for file changes before starting...我有一个基本网址为奥克塔开发人员,看起来像https://dev-xxxxxx.okta.com。
我的.env文件中也包含了教程中所有必需的信息。
发布于 2020-06-07 07:36:56
有两种方法可以解决此错误
解决方案1
将appBaseUrl属性添加到要传递给ExpressOIDC的对象
const oidc = new ExpressOIDC({
appBaseUrl: process.env.OKTA_BASEAPP_URL,
issuer: process.env.OKTA_DOMAIN,
client_id: process.env.OKTA_CLIENT_ID,
client_secret: process.env.OKTA_CLIENT_SECRET,
redirect_uri: process.env.OKTA_REDIRECT_URL,
scope: process.env.OKTA_SCOPE
});解决方案2
第一个方法是将@okta/oidc-middleware版本降级为1.0.2
首先删除节点包
$ rm -rf ./node_modules其次,在您的package.json中将@okta/oidc-middleware的版本更改为1.0.2
第三,安装节点模块
$ npm installhttps://stackoverflow.com/questions/60821425
复制相似问题