mirror of
https://github.com/wekan/wekan.git
synced 2026-01-04 00:28:49 +01:00
add functionality for oidc login to change MongoDB data for email, fullname, username, user.teams
This commit is contained in:
parent
9ca8d78514
commit
6b404da9f8
3 changed files with 107 additions and 0 deletions
|
|
@ -1,3 +1,5 @@
|
|||
import {addGroups, addEmail,changeFullname, changeUsername} from './loginHandler';
|
||||
|
||||
Oidc = {};
|
||||
httpCa = false;
|
||||
|
||||
|
|
@ -16,6 +18,8 @@ if (process.env.OAUTH2_CA_CERT !== undefined) {
|
|||
OAuth.registerService('oidc', 2, null, function (query) {
|
||||
|
||||
var debug = process.env.DEBUG || false;
|
||||
var propagateOidcData = process.env.PROPAGATE_OIDC_DATA || false;
|
||||
|
||||
var token = getToken(query);
|
||||
if (debug) console.log('XXX: register token:', token);
|
||||
|
||||
|
|
@ -73,6 +77,20 @@ OAuth.registerService('oidc', 2, null, function (query) {
|
|||
var profile = {};
|
||||
profile.name = userinfo[process.env.OAUTH2_FULLNAME_MAP]; // || userinfo["displayName"];
|
||||
profile.email = userinfo[process.env.OAUTH2_EMAIL_MAP]; // || userinfo["email"];
|
||||
if (propagateOidcData)
|
||||
{
|
||||
if(user)
|
||||
{
|
||||
serviceData.groups = profile.groups
|
||||
profile.groups = userinfo["groups"];
|
||||
users= Meteor.users;
|
||||
user = users.findOne({'services.oidc.id': serviceData.id});
|
||||
if(userinfo["groups"]) addGroups(user, userinfo["groups"]);
|
||||
if(profile.email) addEmail(user, profile.email)
|
||||
if(profile.name) changeFullname(user, profile.name)
|
||||
if(profile.username) changeUsername(user, profile.username)
|
||||
}
|
||||
}
|
||||
if (debug) console.log('XXX: profile:', profile);
|
||||
|
||||
return {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue