mirror of
https://github.com/NodeBB/NodeBB.git
synced 2025-11-02 03:55:55 +01:00
Firing new hook filter:auth.list
This new plugins allows SSO services to list whether a user has authenticated via that service, and will display as such in the user's profile editing screen.
This commit is contained in:
@@ -101,5 +101,9 @@
|
|||||||
"grouptitle": "Select the group title you would like to display",
|
"grouptitle": "Select the group title you would like to display",
|
||||||
"no-group-title": "No group title",
|
"no-group-title": "No group title",
|
||||||
|
|
||||||
"select-skin": "Select a Skin"
|
"select-skin": "Select a Skin",
|
||||||
|
|
||||||
|
"sso.title": "Single Sign-on Services",
|
||||||
|
"sso.associated": "Associated with",
|
||||||
|
"sso.not-associated": "Click here to associate with"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -49,7 +49,11 @@ function getUserDataByUserSlug(userslug, callerUID, callback) {
|
|||||||
},
|
},
|
||||||
groups: function(next) {
|
groups: function(next) {
|
||||||
groups.getUserGroups([uid], next);
|
groups.getUserGroups([uid], next);
|
||||||
}
|
},
|
||||||
|
sso: async.apply(plugins.fireHook, 'filter:auth.list', {
|
||||||
|
uid: uid,
|
||||||
|
associations: []
|
||||||
|
})
|
||||||
}, function(err, results) {
|
}, function(err, results) {
|
||||||
if (err || !results.userData) {
|
if (err || !results.userData) {
|
||||||
return callback(err || new Error('[[error:invalid-uid]]'));
|
return callback(err || new Error('[[error:invalid-uid]]'));
|
||||||
@@ -88,6 +92,7 @@ function getUserDataByUserSlug(userslug, callerUID, callback) {
|
|||||||
userData.disableSignatures = meta.config.disableSignatures !== undefined && parseInt(meta.config.disableSignatures, 10) === 1;
|
userData.disableSignatures = meta.config.disableSignatures !== undefined && parseInt(meta.config.disableSignatures, 10) === 1;
|
||||||
userData['email:confirmed'] = !!parseInt(userData['email:confirmed'], 10);
|
userData['email:confirmed'] = !!parseInt(userData['email:confirmed'], 10);
|
||||||
userData.profile_links = results.profile_links;
|
userData.profile_links = results.profile_links;
|
||||||
|
userData.sso = results.sso.associations;
|
||||||
userData.status = require('../socket.io').isUserOnline(userData.uid) ? (userData.status || 'online') : 'offline';
|
userData.status = require('../socket.io').isUserOnline(userData.uid) ? (userData.status || 'online') : 'offline';
|
||||||
userData.banned = parseInt(userData.banned, 10) === 1;
|
userData.banned = parseInt(userData.banned, 10) === 1;
|
||||||
userData.website = validator.escape(userData.website);
|
userData.website = validator.escape(userData.website);
|
||||||
|
|||||||
@@ -55,7 +55,7 @@ file.isFileTypeAllowed = function(path, allowedExtensions, callback) {
|
|||||||
var uploadedFileExtension = mime.extension(mimeType);
|
var uploadedFileExtension = mime.extension(mimeType);
|
||||||
|
|
||||||
if (allowedExtensions.indexOf(uploadedFileExtension) === -1) {
|
if (allowedExtensions.indexOf(uploadedFileExtension) === -1) {
|
||||||
return callback(new Error('[[error:invalid-file-type, ' + allowedExtensions.join('-') + ']]'));
|
return callback(new Error('[[error:invalid-file-type, ' + allowedExtensions.join(', ') + ']]'));
|
||||||
}
|
}
|
||||||
|
|
||||||
callback();
|
callback();
|
||||||
|
|||||||
Reference in New Issue
Block a user