Skip to content

Commit d0f35ef

Browse files
committed
chore: tidying up the main library file
1 parent fe54159 commit d0f35ef

1 file changed

Lines changed: 25 additions & 19 deletions

File tree

library.js

Lines changed: 25 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,15 @@
11
'use strict';
22

3-
const User = require.main.require('./src/user');
4-
const Groups = require.main.require('./src/groups');
5-
const db = require.main.require('./src/database');
6-
const authenticationController = require.main.require('./src/controllers/authentication');
7-
const routeHelpers = require.main.require('./src/routes/helpers');
8-
93
const passport = module.parent.require('passport');
104
const nconf = module.parent.require('nconf');
115
const winston = module.parent.require('winston');
126

7+
const db = require.main.require('./src/database');
8+
const user = require.main.require('./src/user');
9+
const plugins = require.main.require('./src/plugins');
10+
const authenticationController = require.main.require('./src/controllers/authentication');
11+
const routeHelpers = require.main.require('./src/routes/helpers');
12+
1313
const OAuth = module.exports;
1414

1515
OAuth.init = async (params) => {
@@ -77,7 +77,8 @@ OAuth.loadStrategies = async (strategies) => {
7777
clientSecret,
7878
callbackURL,
7979
passReqToCallback: true,
80-
}, async (req, token, secret, { id, displayName, email }, done) => {
80+
}, async (req, token, secret, profile, done) => {
81+
const { id, displayName, email } = profile;
8182
if (![id, displayName, email].every(Boolean)) {
8283
return done(new Error('insufficient-scope'));
8384
}
@@ -89,6 +90,7 @@ OAuth.loadStrategies = async (strategies) => {
8990
email,
9091
});
9192

93+
winston.verbose(`[plugin/sso-oauth2-multiple] Successful login to uid ${user.uid} via ${name} (remote id ${id})`);
9294
authenticationController.onSuccessfulLogin(req, user.uid);
9395
done(null, user);
9496
}));
@@ -139,12 +141,16 @@ OAuth.getUserProfile = function (name, userRoute, accessToken, done) {
139141
});
140142
};
141143

142-
OAuth.parseUserReturn = ({ id, sub, name, nickname, preferred_username, picture, email/* , email_verified */ }) => {
143-
const profile = {};
144-
profile.id = id || sub;
145-
profile.displayName = nickname || preferred_username || name;
146-
profile.picture = picture;
147-
profile.email = email;
144+
OAuth.parseUserReturn = ({
145+
provider, id, sub, name, nickname, preferred_username, picture, email, /* , email_verified */
146+
}) => {
147+
const profile = {
148+
provider,
149+
id: id || sub,
150+
displayName: nickname || preferred_username || name,
151+
picture,
152+
email,
153+
};
148154

149155
return profile;
150156
};
@@ -157,22 +163,22 @@ OAuth.login = async (payload) => {
157163
}
158164

159165
// Check for user via email fallback
160-
uid = await User.getUidByEmail(payload.email);
166+
uid = await user.getUidByEmail(payload.email);
161167
if (!uid) {
162168
const { email } = payload;
163169

164170
// New user
165-
uid = await User.create({
171+
uid = await user.create({
166172
username: payload.handle,
167173
});
168174

169175
// Automatically confirm user email
170-
await User.setUserField(uid, 'email', email);
171-
await User.email.confirmByUid(uid);
176+
await user.setUserField(uid, 'email', email);
177+
await user.email.confirmByUid(uid);
172178
}
173179

174180
// Save provider-specific information to the user
175-
await User.setUserField(uid, `${payload.name}Id`, payload.oAuthid);
181+
await user.setUserField(uid, `${payload.name}Id`, payload.oAuthid);
176182
await db.setObjectField(`${payload.name}Id:uid`, payload.oAuthid, uid);
177183

178184
return { uid };
@@ -182,7 +188,7 @@ OAuth.getUidByOAuthid = async (name, oAuthid) => db.getObjectField(`${name}Id:ui
182188

183189
OAuth.deleteUserData = async (data) => {
184190
const names = await db.getSortedSetMembers('oauth2-multiple:strategies');
185-
const oAuthIds = await User.getUserFields(data.uid, names.map(name => `${name}Id`));
191+
const oAuthIds = await user.getUserFields(data.uid, names.map(name => `${name}Id`));
186192

187193
await Promise.all(oAuthIds.map(async (oAuthIdToDelete, idx) => {
188194
if (!oAuthIdToDelete) {

0 commit comments

Comments
 (0)