|
@@ -48,13 +48,8 @@ module.exports = function(crowi, app) {
|
|
|
* @param {*} req
|
|
* @param {*} req
|
|
|
* @param {*} res
|
|
* @param {*} res
|
|
|
*/
|
|
*/
|
|
|
- const loginFailure = (req, res, next) => {
|
|
|
|
|
- req.flash('errorMessage', 'Sign in failure.');
|
|
|
|
|
- return res.redirect('/login');
|
|
|
|
|
- };
|
|
|
|
|
-
|
|
|
|
|
- const loginFailureByABLC = (req, res, next) => {
|
|
|
|
|
- req.flash('errorMessage', 'Sign in failure due to insufficient privileges.');
|
|
|
|
|
|
|
+ const loginFailure = (req, res, message) => {
|
|
|
|
|
+ req.flash('errorMessage', message || 'Sign in failure.');
|
|
|
return res.redirect('/login');
|
|
return res.redirect('/login');
|
|
|
};
|
|
};
|
|
|
|
|
|
|
@@ -255,7 +250,7 @@ module.exports = function(crowi, app) {
|
|
|
response = await promisifiedPassportAuthentication(strategyName, req, res);
|
|
response = await promisifiedPassportAuthentication(strategyName, req, res);
|
|
|
}
|
|
}
|
|
|
catch (err) {
|
|
catch (err) {
|
|
|
- return loginFailure(req, res, next);
|
|
|
|
|
|
|
+ return loginFailure(req, res);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
const userInfo = {
|
|
const userInfo = {
|
|
@@ -275,7 +270,7 @@ module.exports = function(crowi, app) {
|
|
|
|
|
|
|
|
const externalAccount = await getOrCreateUser(req, res, userInfo, providerId);
|
|
const externalAccount = await getOrCreateUser(req, res, userInfo, providerId);
|
|
|
if (!externalAccount) {
|
|
if (!externalAccount) {
|
|
|
- return loginFailure(req, res, next);
|
|
|
|
|
|
|
+ return loginFailure(req, res);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
const user = await externalAccount.getPopulatedUser();
|
|
const user = await externalAccount.getPopulatedUser();
|
|
@@ -306,7 +301,7 @@ module.exports = function(crowi, app) {
|
|
|
response = await promisifiedPassportAuthentication(strategyName, req, res);
|
|
response = await promisifiedPassportAuthentication(strategyName, req, res);
|
|
|
}
|
|
}
|
|
|
catch (err) {
|
|
catch (err) {
|
|
|
- return loginFailure(req, res, next);
|
|
|
|
|
|
|
+ return loginFailure(req, res);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
const userInfo = {
|
|
const userInfo = {
|
|
@@ -317,7 +312,7 @@ module.exports = function(crowi, app) {
|
|
|
|
|
|
|
|
const externalAccount = await getOrCreateUser(req, res, userInfo, providerId);
|
|
const externalAccount = await getOrCreateUser(req, res, userInfo, providerId);
|
|
|
if (!externalAccount) {
|
|
if (!externalAccount) {
|
|
|
- return loginFailure(req, res, next);
|
|
|
|
|
|
|
+ return loginFailure(req, res);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
const user = await externalAccount.getPopulatedUser();
|
|
const user = await externalAccount.getPopulatedUser();
|
|
@@ -348,7 +343,7 @@ module.exports = function(crowi, app) {
|
|
|
response = await promisifiedPassportAuthentication(strategyName, req, res);
|
|
response = await promisifiedPassportAuthentication(strategyName, req, res);
|
|
|
}
|
|
}
|
|
|
catch (err) {
|
|
catch (err) {
|
|
|
- return loginFailure(req, res, next);
|
|
|
|
|
|
|
+ return loginFailure(req, res);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
const userInfo = {
|
|
const userInfo = {
|
|
@@ -359,7 +354,7 @@ module.exports = function(crowi, app) {
|
|
|
|
|
|
|
|
const externalAccount = await getOrCreateUser(req, res, userInfo, providerId);
|
|
const externalAccount = await getOrCreateUser(req, res, userInfo, providerId);
|
|
|
if (!externalAccount) {
|
|
if (!externalAccount) {
|
|
|
- return loginFailure(req, res, next);
|
|
|
|
|
|
|
+ return loginFailure(req, res);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
const user = await externalAccount.getPopulatedUser();
|
|
const user = await externalAccount.getPopulatedUser();
|
|
@@ -395,7 +390,7 @@ module.exports = function(crowi, app) {
|
|
|
}
|
|
}
|
|
|
catch (err) {
|
|
catch (err) {
|
|
|
debug(err);
|
|
debug(err);
|
|
|
- return loginFailure(req, res, next);
|
|
|
|
|
|
|
+ return loginFailure(req, res);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
const userInfo = {
|
|
const userInfo = {
|
|
@@ -408,7 +403,7 @@ module.exports = function(crowi, app) {
|
|
|
|
|
|
|
|
const externalAccount = await getOrCreateUser(req, res, userInfo, providerId);
|
|
const externalAccount = await getOrCreateUser(req, res, userInfo, providerId);
|
|
|
if (!externalAccount) {
|
|
if (!externalAccount) {
|
|
|
- return loginFailure(req, res, next);
|
|
|
|
|
|
|
+ return loginFailure(req, res);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
// login
|
|
// login
|
|
@@ -468,7 +463,7 @@ module.exports = function(crowi, app) {
|
|
|
|
|
|
|
|
// Attribute-based Login Control
|
|
// Attribute-based Login Control
|
|
|
if (!crowi.passportService.verifySAMLResponseByABLCRule(response)) {
|
|
if (!crowi.passportService.verifySAMLResponseByABLCRule(response)) {
|
|
|
- return loginFailureByABLC(req, res);
|
|
|
|
|
|
|
+ return loginFailure(req, res, 'Sign in failure due to insufficient privileges.');
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
// login
|
|
// login
|
|
@@ -513,7 +508,7 @@ module.exports = function(crowi, app) {
|
|
|
|
|
|
|
|
const externalAccount = await getOrCreateUser(req, res, userInfo, providerId);
|
|
const externalAccount = await getOrCreateUser(req, res, userInfo, providerId);
|
|
|
if (!externalAccount) {
|
|
if (!externalAccount) {
|
|
|
- return loginFailure(req, res, next);
|
|
|
|
|
|
|
+ return loginFailure(req, res);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
const user = await externalAccount.getPopulatedUser();
|
|
const user = await externalAccount.getPopulatedUser();
|