JSConnect SSO
-
I am facing the same problem. JSConnect is coded into and for Vanilla Forums, there are no chances it will work in NodeBB.
I will create an oauth server in my primary site and then install and customize this sso-oauth plugin https://github.com/julianlam/nodebb-plugin-sso-oauth -
@julian I noticed that if I change plugin
"version": "0.2.4"
to
"version": "0.1"
NodeBB crashes:
error: TypeError: Invalid Version: 0.1 at new SemVer (/var/nodebb/node_modules/semver/semver.js:273:11) at compare (/var/nodebb/node_modules/semver/semver.js:520:10) at Function.gt (/var/nodebb/node_modules/semver/semver.js:549:10) at async.each.pluginArray (/var/nodebb/src/plugins.js:216:45) at /var/nodebb/node_modules/async/lib/async.js:125:13 at Array.forEach (native) at _each (/var/nodebb/node_modules/async/lib/async.js:46:24) at Object.async.each (/var/nodebb/node_modules/async/lib/async.js:124:9) at /var/nodebb/src/plugins.js:197:11 at /var/nodebb/src/plugins.js:327:6
-
@manuel It's because NPM specifications require the version to be "parseable by node-semver"
-
@frissdiegurke understood, thank you
-
any suggestion on how to customize the look using an image instead of the fontawesome icon and adding a text description?
strategies.push({ name: constants.name, url: '/auth/' + constants.name, callbackURL: '/auth/' + constants.name + '/callback', icon: 'fa-check-square', scope: (constants.scope || '').split(',') });
-
@julian and when you say
NodeBB *requires* the following: id, displayName, emails. // Everything else is optional.
what is that "everything else"? I need to set the fullname, the username, and the url for profile picture
it's just that? http://passportjs.org/guide/profile/a little bit confusing is the variable "displayName" that will not be used for fullname but for username
how can I sanitize the username the way it will be accepted? I have to solve some [[error:invalid-username]]
-
@julian said:
.alt-logins .facebook
matches the facebook SSO login, so I believe you could use some custom js and css to change the HTML after-the-fact, although I will admit this is not an ideal solution.in this case how can i execute custom js on login page only?
-
i also added this code to load default preferences (inside the "success" function when creating a new user)
User.setSetting(uid, 'dailyDigestFreq', 'week', null); User.setSetting(uid, 'notificationSounds', 1, null); User.setSetting(uid, 'followTopicsOnCreate', 1, null); User.setSetting(uid, 'followTopicsOnReply', 1, null); User.setSetting(uid, 'sendChatNotifications', 1, null);