Skip to content

Commit f03bb26

Browse files
committed
fix issue with big user objects
1 parent ec64ba9 commit f03bb26

3 files changed

Lines changed: 32 additions & 10 deletions

File tree

OpenFlow/src/LoginProvider.ts

Lines changed: 17 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -146,10 +146,23 @@ export class LoginProvider {
146146
app.use(passport.initialize());
147147
app.use(passport.session());
148148
passport.serializeUser(async function (user: any, done: any): Promise<void> {
149-
done(null, user);
149+
const tuser: TokenUser = TokenUser.From(user);
150+
await Auth.AddUser(tuser as any, tuser._id, "passport");
151+
done(null, user._id);
150152
});
151-
passport.deserializeUser(function (user: any, done: any): void {
152-
done(null, user);
153+
passport.deserializeUser(async function (userid: string, done: any): Promise<void> {
154+
if (NoderedUtil.IsNullEmpty(userid)) return done('missing userid', null);
155+
if (typeof userid !== 'string') userid = (userid as any)._id
156+
if (NoderedUtil.IsNullEmpty(userid)) return done('missing userid', null);
157+
const _user = await Auth.getUser(userid, "passport");
158+
if (_user == null) {
159+
const user = await DBHelper.FindByUsernameOrId(null, userid, null);
160+
const tuser = TokenUser.From(user);
161+
await Auth.AddUser(tuser as any, tuser._id, "passport");
162+
done(null, tuser);
163+
} else {
164+
done(null, _user);
165+
}
153166
});
154167

155168
app.use(function (req, res, next) {
@@ -1023,6 +1036,7 @@ export class LoginProvider {
10231036
}
10241037
const tuser: TokenUser = TokenUser.From(user);
10251038
Audit.LoginSuccess(tuser, "weblogin", "local", remoteip, "browser", "unknown", span);
1039+
// tuser.roles.splice(40, tuser.roles.length)
10261040
Logger.otel.endSpan(span);
10271041
return done(null, tuser);
10281042
} catch (error) {

OpenFlow/src/public/Controllers.ts

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -88,9 +88,17 @@ export class MenuCtrl {
8888

8989
this.customers = await NoderedUtil.Query("users", { _type: "customer" }, null, null, 100, 0, null, null, null, 2);
9090
if (this.customers.length == 1) this.customer = this.customers[0];
91-
if (this.customers.length > 1 && data.customerid != null) {
92-
for (let cust of this.customers)
93-
if (cust._id == data.customerid) this.customer = cust;
91+
if (this.customers.length > 1 && (data.customerid != null || data.selectedcustomerid != null)) {
92+
this.customer = null;
93+
if (data.selectedcustomerid != null) {
94+
for (let cust of this.customers)
95+
if (cust._id == data.selectedcustomerid) this.customer = cust;
96+
}
97+
if (this.customer == null) {
98+
for (let cust of this.customers)
99+
if (cust._id == data.customerid) this.customer = cust;
100+
101+
}
94102
}
95103
if (!this.$scope.$$phase) { this.$scope.$apply(); }
96104
// cleanup();

gulpfile.js

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -181,19 +181,19 @@ gulp.task("browserify", function () {
181181
gulp.task("compose", shell.task([
182182
'echo "Build openiap/openflow"',
183183
'docker build -t openiap/openflow:edge .',
184-
// 'docker tag openiap/openflow:edge openiap/openflow:' + version,
184+
'docker tag openiap/openflow:edge openiap/openflow:' + version,
185185
'docker tag openiap/openflow:edge openiap/openflow:edge1.3',
186186
'echo "Push openiap/openflow"',
187187
'docker push openiap/openflow:edge',
188-
// 'docker push openiap/openflow:' + version,
188+
'docker push openiap/openflow:' + version,
189189
'docker push openiap/openflow:edge1.3',
190190

191191
'echo "Build openiap/nodered"',
192192
'cd OpenFlowNodeRED && docker build -t openiap/nodered:edge .',
193-
// 'docker tag openiap/nodered:edge openiap/nodered:' + version,
193+
'docker tag openiap/nodered:edge openiap/nodered:' + version,
194194
'echo "Push openiap/nodered"',
195195
'docker push openiap/nodered:edge',
196-
// 'docker push openiap/nodered:' + version,
196+
'docker push openiap/nodered:' + version,
197197
'docker push openiap/nodered:edge1.3',
198198

199199
// 'echo "Build openiap/nodered-puppeteer"',

0 commit comments

Comments
 (0)