Daniel Kaiser ada770c9e6 Update oidc_server.js 3 år sedan
..
.gitignore 73e265d8fd Include to Wekan packages directory contents, so that meteor command would build all directly. 6 år sedan
LICENSE.txt 73e265d8fd Include to Wekan packages directory contents, so that meteor command would build all directly. 6 år sedan
README.md 9179e5ea71 added Readme 3 år sedan
loginHandler.js f90875d8ef updating teams from oidc possible, fixed undefined error, no need for extra login to assign/create teams/orgs 3 år sedan
oidc_client.js 1e837dec11 Fix Google SSO to access Wekan has not been working 4 år sedan
oidc_configure.html 73e265d8fd Include to Wekan packages directory contents, so that meteor command would build all directly. 6 år sedan
oidc_configure.js 73e265d8fd Include to Wekan packages directory contents, so that meteor command would build all directly. 6 år sedan
oidc_server.js ada770c9e6 Update oidc_server.js 3 år sedan
package.js 6b404da9f8 add functionality for oidc login to change MongoDB data for email, fullname, username, user.teams 3 år sedan

README.md

salleman:oidc package

A Meteor implementation of OpenID Connect Login flow

Usage and Documentation

Look at the salleman:accounts-oidc package for the documentation about using OpenID Connect with Meteor.

Usage with e.g. authentik for updating users via oidc

To use the following features set: 'export PROPAGATE_OIDC_DATA=true'

SIMPLE: If user is assigned to 'group in authentik' it will be automatically assigned to corresponding team in wekan if exists

ADVANCED: Users can be assigned to teams or organisations via oidc on login. Teams and organisations that do not exist in wekan, yet, will be created, when specified. Admin privileges for wekan through a specific group can be set via Oidc. See example below:

  1. Specify scope in authentik for what will be delivered via userinfo["wekanGroups"]

    Possible configuration for yourScope: ' groupsDict = {"wekanGroups": []} for group in request.user.ak_groups.all(): groupDict = {"displayName": group.name} groupAdmin = {"isAdmin": group.isAdmin} groupAttributes = group.attributes tmp_dict= groupDict | groupAttributes | groupAdmin

    groupsDict["wekanGroups"].append(tmp_dict) return groupsDict '

  2. Tell provider to include yourScope and set OAUTH2_REQUEST_PERMISSIONS="openid profile email yourScope"

  3. In your group settings in authentik add attributes: desc: groupDesc // default group.name isAdmin: true // default false website: groupWebsite // default group.name isActive: true // default false shortName: groupShortname // default group.name forceCreate: true // default false isOrganisation: true // default false

  4. On next login user will be added to either newly created group/organization or to already existing

NOTE: orgs & teams won't be updated if they already exist.

  1. Manages admin rights as well. If user is in Group which has isAdmin: set to true, user will get admin privileges in Wekan as well. If no adjustments (e.g. 1-3) are made on oidc provider's side, user will receive his/her admin rights from before.