我有一个用vue-cli构建并通过Okta授权的Vue应用。推送到Heroku作为生产设置,但是我有点想知道Okta是否不会在免费增值级别进行生产?
我在文档中是否缺少有关此的信息...
为var express = require('express');
var app = express();
var mongoose = require('mongoose');
mongoose.connect('mongodb://127.0.0.1:27017/exampleDB', { useNewUrlParser: true });
mongoose.Promise = global.Promise;
var db = mongoose.connection;
db.on('error', console.error.bind(console, 'MongoDB connection error:'));
var someModel = mongoose.model('someModel', {
name : String
});
app.get('/api/todos', async function(req, res) {
var awesome_instance = new someModel({ name: 'awesome' });
await awesome_instance.save()
});
app.post('/api/todos', function(req, res) {
});
app.listen(8080, ()=>console.log("App listening on port 8080"));
目录添加了通常的src
附有Okta库的内容:
router/index.js
,这在路由数组中:
Vue.use(Auth, {
issuer: 'dev_url',
client_id: 'some_string',
redirect_uri: window.location.origin + '/implicit/callback',
scope: 'openid profile email'
})
在{
path: '/implicit/callback',
component: Auth.handleCallback()
},
中得到一个server.js
,并进行了jwt验证并建立了文件夹:
src/
这些看起来都很不错,并且一切都像在localhost上一样起作用。使用webpack-dev-server,但将其推送到heroku时,我在app.use(express.static(path.join(__dirname, "../dist")))
...
const oktaJwtVerifier = new OktaJwtVerifier({
clientId: '<some_id>',
issuer: '<some_url>'
})
...
app.get('/', authRequired(), (req, res, next) => {
return res.sendFile(path.join(__dirname, '../dist/index.html'))
})
路由上收到404 ...
以下是脚本:
implicit/callback
当构建完成并且所有的欢乐时光应该开始时,我单击登录,然后通过浏览器发出此调用,这似乎有点不可思议:
"scripts": {
"dev": "webpack-dev-server --inline --progress --config build/webpack.dev.conf.js",
"unit": "cross-env BABEL_ENV=test karma start test/unit/karma.conf.js --single-run",
"test": "npm run unit",
"lint": "eslint --ext .js,.vue src test/unit",
"build": "node build/build.js",
"server": "node ./src/server",
"start": "node ./src/server",
"heroku-prebuild": "npm install && npm run build"
},
我们在404上崩溃了,没有身份验证。
如果克隆它并https://<base_url>.herokuapp.com/implicit/callback#id_token=<huge_hashed_string>&token_type=Bearer&expires_in=3600&scope=openid+email+profile&state=<huge_hashed_string>
,则可以运行npm install
和npm run dev
。
已经进行了大量的路线操作,不确定还有什么其他地方,主要是因为它可以在本地诚实运行,我认为我要么在设置Okta应用程序时遗漏了一些东西,要么在文档中遗漏了一些东西我这样办事。
我已将生产URL添加到仪表板设置中的登录重定向URI 中。和可接受的基本网址。有人对此有任何意见吗?