Я создаю одностраничное приложение с Vuejs внешним интерфейсом и Nodejs внутренним. Читал тонны о едином входе и oid c, и ему удалось внедрить аутентификацию, используя Oid c для внешнего интерфейса, где я получил токен от своего провайдера идентификации.
Не уверен, однако, теперь, как также реализовать это для бэкэнда и где / когда / как.
Так что в настоящее время, когда пользователь обращается к странице, в моем файле маршрутизатора. js, это происходит:
router.beforeEach(vuexOidcCreateRouterMiddleware(store));
В магазине я делаю это:
Vue.use(vuex);
const store = new Vuex.Store({
state: {
// holds current list of products
products: [],
},
getters,
mutations,
actions,
modules: {
// initialize PING-OIDC module
oidcStore: vuexOidcCreateStoreModule(
oidcSettings,
{ namespaced: false },
{
userLoaded: (oidcUser) => {
axios.defaults.headers.common.Authorization = `${oidcUser.token_type} ${oidcUser.access_token}`;
},
},
),
},
});
export default store;
Поэтому я установил заголовок авторизации, но теперь я не уверен, где и как действовать в бэкэнде, чтобы также добавить + подтвердите аутентификацию там.
Очень новый для всего этого, и, кажется, есть много разных способов продолжить, так что оцените все подсказки.
В настоящее время на сервере. js, я просто выполните следующие действия:
var express = require('express');
var app = express();
var bodyParser = require('body-parser');
app.use(bodyParser.json())
const cors = require('cors')
const corsOptions = {
origin: 'http://localhost:5002',
optionsSuccessStatus: 200
}
app.use(cors(corsOptions))
//get mysql db here
const data = require('./app/config/db.config.js');
const db = data.MySQL_DB;
// show all products
app.get('/api/productlist',(req, res) => {
const sql = "SELECT ID FROM Product_Table";
const query = db.query(sql, (err, results) => {
if(err) throw err;
console.log("productIds ", results);
res.send(JSON.stringify({"status": 200, "error": null, "response": results}));
});
});
// Create a Server
var server = app.listen(8080, function () {
var host = server.address().address
var port = server.address().port
console.log("App listening at http://%s:%s", host, port)
})
Так я должен также создать там запрос post
? Просто не уверен в том, как подтвердить запрос там .. Большое спасибо за помощь!