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.
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.
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.
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.
Other plugins can interact with this plugin, as it fires the following hooks:
- On successful login —
action:oauth2.login
— passes in(name, user, profile)
name
is the strategy name.user
is the local NodeBB user (probably just theuid
).profile
is the remote profile as retrieved by this plugin.