Add friendly error message on auth create attemp
This commit is contained in:
@ -15,6 +15,8 @@ const debug = debugFactory('fcc:models:userIdent');
|
|||||||
export default function(UserIdent) {
|
export default function(UserIdent) {
|
||||||
// original source
|
// original source
|
||||||
// github.com/strongloop/loopback-component-passport
|
// github.com/strongloop/loopback-component-passport
|
||||||
|
const createAccountMessage =
|
||||||
|
'Accounts can only be created using GitHub or though email';
|
||||||
UserIdent.login = function(
|
UserIdent.login = function(
|
||||||
provider,
|
provider,
|
||||||
authScheme,
|
authScheme,
|
||||||
@ -71,11 +73,11 @@ export default function(UserIdent) {
|
|||||||
|
|
||||||
const userObj = options.profileToUser(provider, profile, options);
|
const userObj = options.profileToUser(provider, profile, options);
|
||||||
if (getSocialProvider(provider) !== 'github') {
|
if (getSocialProvider(provider) !== 'github') {
|
||||||
return process.nextTick(() => cb(
|
const err = new Error(createAccountMessage);
|
||||||
new Error(
|
err.userMessage = createAccountMessage;
|
||||||
'accounts can only be created using Github or though email'
|
err.messageType = 'info';
|
||||||
)
|
err.redirectTo = '/signin';
|
||||||
));
|
return process.nextTick(() => cb(err));
|
||||||
}
|
}
|
||||||
|
|
||||||
let query;
|
let query;
|
||||||
|
@ -25,11 +25,11 @@ export default function prodErrorHandler() {
|
|||||||
var message = 'Oops! Something went wrong. Please try again later';
|
var message = 'Oops! Something went wrong. Please try again later';
|
||||||
if (type === 'html') {
|
if (type === 'html') {
|
||||||
if (typeof req.flash === 'function') {
|
if (typeof req.flash === 'function') {
|
||||||
req.flash('errors', {
|
req.flash(err.messageType || 'errors', {
|
||||||
msg: message
|
msg: err.userMessage || message
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
return res.redirect('/map');
|
return res.redirect(err.redirectTo || '/map');
|
||||||
// json
|
// json
|
||||||
} else if (type === 'json') {
|
} else if (type === 'json') {
|
||||||
res.setHeader('Content-Type', 'application/json');
|
res.setHeader('Content-Type', 'application/json');
|
||||||
|
Reference in New Issue
Block a user