케이스 각도 응용 프로그램로드되기 전에 리디렉션합니다. 내 각도 코드는 saml URL에서 사용자 자격 증명을 확인하고 아무 것도 찾지 못하므로 여권 로그인을 호출하고 SAML 로그인 페이지 (회사 호스팅)로 이동하여 적절한 사용자 세부 정보로 다시 내 홈페이지로 돌아옵니다.Express는
내 질문이 주위로드에서 각 응용 프로그램을 방지 할 수있는 및 에있는 모든 내 응용 프로그램 경로에 req.user
확인을하고 내 app.get (*)가 index.html 페이지를 통해 보내는 모든 잡을를 수행하기 전에 표현한다.
클라이언트 측 라우팅에서 가능합니까? 지금 구성된 server.js를 보자. 어떤 도움이라도 대단히 감사하겠습니다.
var env = require('dotenv').config();
var express = require("express");
var app = express();
var bodyParser = require('body-parser');
var cookieParser = require('cookie-parser');
var fs = require('fs');
var path = require('path');
var passport = require('./server/sso/passport')(app);
// Enforce HTTPS on all requests
app.enable('trust proxy');
app.use(function (req, res, next) {
if (req.headers['x-forwarded-proto'] === 'https') {
next();
} else {
res.redirect('https://' + req.headers.host + req.url);
}
});
// Set Up
app.use(cookieParser());
app.use(bodyParser.urlencoded({ extended: false }));
app.use(bodyParser.json());
// All responses return CORS allowed
app.use(function (req, res, next) {
if (req.headers.origin) { res.header('Access-Control-Allow-Origin', req.headers.origin); }
res.setHeader("Access-Control-Allow-Credentials", true);
res.setHeader("Access-Control-Allow-Methods", "GET,POST,PUT,OPTIONS");
res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept, Authorization");
('OPTIONS' == req.method) ? res.send(200) : next();
});
// API Routes
app.use(require('./server/routes/book-routes'));
app.use(require('./server/routes/car-routes'));
// SSO
app.use(require('./server/sso/routes')(passport));
// Serve the client website.
app.use(express.static(path.resolve(__dirname, 'dist')));
// Route all unhandled requests to index.html, so client's router can handle them.
app.get('*', (req, res) => {
var authenticated = req.user;
if (authenticated) {
res.sendFile(path.resolve(__dirname, 'dist', 'index.html'));
} else {
res.redirect('/samlLogin', 301);
}
});
// Start server on the specified port and binding host
app.listen(appEnv.port, appEnv.bind, function() {
// Print a message when the server starts listening.
console.log("Serving taas-tools app at " + appEnv.url);
});
// Export the app and listener.
module.exports = app;