if self.info:
userattrs = self.info.get_user_attrs(username)
if userdata:
- userdata.update(userattrs or {})
+ userdata.update(userattrs.get('userdata', {}))
else:
- userdata = userattrs
+ userdata = userattrs.get('userdata', {})
+
+ # merge groups and extras from login plugin and info plugin
+ userdata['groups'] = list(set(userdata.get('groups', []) +
+ userattrs.get('groups', [])))
+
+ userdata['extras'] = userdata.get('extras', {})
+ userdata['extras'].update(userattrs.get('extras', {}))
+
self.debug("User %s attributes: %s" % (username, repr(userdata)))
if auth_type:
if username is None:
username = ''
+ target = None
if self.trans is not None:
tid = self.trans.transaction_id
+ target = self.trans.retrieve().get('login_target')
if tid is None:
tid = ''
"description": self.lm.help_text,
"next_url": next_url,
"username": username,
+ "login_target": target,
}
context.update(kwargs)
if self.trans is not None: