GitHub仓库: NodeBB/nodebb-plugin-sso-oauth2-multiple
Find a file
2025-02-11 18:32:43 -05:00
lib feat: new option forceUsernameViaEmail 2024-04-11 12:01:32 -04:00
screenshots docs: update readme 2023-08-09 15:39:25 -04:00
static feat: new option forceUsernameViaEmail 2024-04-11 12:01:32 -04:00
.eslintrc feat: init 🎉 2023-07-26 15:47:31 -04:00
.gitattributes feat: init 🎉 2023-07-26 15:47:31 -04:00
.gitignore feat: init 🎉 2023-07-26 15:47:31 -04:00
.npmignore feat: init 🎉 2023-07-26 15:47:31 -04:00
commitlint.config.js feat: init 🎉 2023-07-26 15:47:31 -04:00
library.js fix: logic error in email_verified 2024-08-03 22:40:42 -04:00
LICENSE feat: init 🎉 2023-07-26 15:47:31 -04:00
package.json chore(deps): update dependency lint-staged to v15.4.3 2025-01-26 11:41:41 -05:00
plugin.json feat: minor fixes to acp template for nodebb v2 2023-08-25 14:39:55 -04:00
README.md feat: additional adjustment toggles for syncing full name, picture, and email verification trusting 2023-11-28 14:54:16 -05:00
renovate.json feat: init 🎉 2023-07-26 15:47:31 -04:00
yarn.lock fix(deps): update dependency eslint to v9.20.1 2025-02-11 18:32:43 -05:00

NodeBB OAuth2 Multiple Client SSO

This NodeBB plugin allows you to configure logins to multiple configurable OAuth2 endpoints, via the admin backend. Use this plugin if you have a separate database of users and you'd like to allow access to the forum to those users via that database.

Caveat

Different OAuth2 providers adhere to the standard differently. This plugin is tested primarily against the following providers:

Support for other OAuth2 providers is explicitly not guaranteed. If you'd like to help this plugin play nice with other providers, please open an issue.

Profile Updates

v1.4.0 of this plugin introduces the ability to update a user's full name and picture with data supplied by the remote userinfo endpoint. The functionality (including which fields to sync/ignore) can be configured on a per-strategy basis, under the "Adjustments" menu when editing a strategy.

Role-Based Access Control

This plugin is able to sort users into specific user groups based on user roles. You can maintain a map of roles to user groups, and further limit access via standard category privileges in NodeBB.

The role-based access control functionality was sponsored by Outplayed.

Screenshots

OAuth2 Strategy Editing

For Developers

Other plugins can interact with this plugin, as it fires the following hooks:

  1. On successful login — action:oauth2.login — passes in (name, user, profile)
    • name is the strategy name.
    • user is the local NodeBB user (probably just the uid).
    • profile is the remote profile as retrieved by this plugin.