簡體   English   中英

具有多個子域的Express&Passport

[英]Express & Passport with multiple subdomains

我將兩個小應用程序合並為一個,應該通過兩個子域進行訪問。 為此,我正在使用“ express-subdomain”模塊。 我正在嘗試使用Passport,因此當用戶登錄第一個應用程序時,他同時登錄了兩個應用程序。 但是,使用req.isAuthenticated()確實可以登錄“第一個”應用程序,但隨后我不在“第二個”應用程序中。

我正在尋找在第一個子域中進行護照身份驗證並在第二個子域中進行登錄的任何解決方案,包括在需要時保留兩個不同的應用程序。

假設為本地策略以及路由器和應用程序的其余部分正確配置了通行證。 這是它的樣子:

app.js

// <- requires etc

var passport = require('./configurePassport.js')(require('passport'));

var app = express();

app.use(cookieParser());
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({extended: true}));
app.use(expressSession({
    secret: 'bestSecretEver',
    resave: false,
    saveUninitialized: false
}));
app.use(passport.initialize());
app.use(passport.session());
// and others

var firstRouter = express.Router();
firstRouter.use('/public', express.static(__dirname + '/first/public'));
firstRouter.use(favicon(__dirname + '/first/public/favicon.ico'));

// <- setting first router's GET, POST etc

app.use(subdomain('sub1', firstRouter)); // for sub1.example.com

var secondRouter = express.Router();
secondRouter.use('/public', express.static(__dirname + '/second/public'));
secondRouter.use(favicon(__dirname + '/second/public/favicon.ico'));

// <- setting second router's GET, POST etc

app.use(subdomain('sub2', secondRouter)); // for sub2.example.com

任何想法 ?

查看要保存Cookie的位置以進行身份​​驗證。 確保已將其保存到根域。 即: *.example.com而不是sub1.example.com

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM