Skip to content

Commit 7a99a6b

Browse files
committed
add missing await, dont end wrong span, cleanup
1 parent 29e651f commit 7a99a6b

1 file changed

Lines changed: 48 additions & 43 deletions

File tree

OpenFlow/src/OAuthProvider.ts

Lines changed: 48 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@ export class OAuthProvider {
8383
if (jwksresults.length == 0) {
8484
jwks = await this.generatekeys();
8585
jwks._type = "jwks";
86-
Config.db.InsertOne(jwks, "config", 1, true, Crypt.rootToken(), span);
86+
await Config.db.InsertOne(jwks, "config", 1, true, Crypt.rootToken(), span);
8787
} else {
8888
jwks = jwksresults[0];
8989
}
@@ -181,25 +181,50 @@ export class OAuthProvider {
181181
res.send('[]');
182182
return;
183183
}
184-
if (req.originalUrl.startsWith("/oidc/auth")) {
185-
const _session = req.cookies["_session"];
186-
const session = req.cookies["session"];
187-
var session1 = await this.instance.oidc.Session.find(_session)
188-
var session2 = await this.instance.oidc.Session.find(session)
189-
if (session1 != null) {
190-
const referer: string = req.headers.referer;
191-
if (NoderedUtil.IsNullEmpty(referer)) {
192-
res.redirect("/oidc/session/end");
193-
} else {
194-
await session1.destroy();
195-
res.redirect(referer);
196-
}
197-
return;
198-
}
199-
if (session2 != null) { session2.resetIdentifier(); session2.destroy(); }
184+
// if (req.originalUrl.startsWith("/oidc/auth")) {
185+
// var _session: string = req.cookies["_session"];
186+
// var session: string = req.cookies["session"];
187+
// if (!NoderedUtil.IsNullEmpty(_session)) {
188+
// var session1 = await this.instance.oidc.Session.find(_session)
189+
// if (session1 != null) {
190+
// const referer: string = req.headers.referer;
191+
// if (NoderedUtil.IsNullEmpty(referer)) {
192+
// res.redirect("/oidc/session/end");
193+
// } else {
194+
// // await session1.destroy();
195+
// res.redirect(referer);
196+
// }
197+
// return;
198+
// }
199+
// }
200+
// if (!NoderedUtil.IsNullEmpty(session)) {
201+
// if (session.endsWith("=")) {
202+
// try {
203+
// var buff = Buffer.from(session, "base64");
204+
// var json = buff.toString("ascii");
205+
// var item = JSON.parse(json);
206+
// console.log(item);
207+
// if (item && item.passport && item.passport.user) {
208+
// var payload = await MongoAdapter.findByUid(item.passport.user);
209+
// if (payload == null) payload = await MongoAdapter.findByUserCode(item.passport.user);
210+
// if (payload == null) payload = await MongoAdapter.find(item.passport.user);
211+
// if (payload != null) {
212+
// session = item.passport.user;
213+
// }
200214

201-
// req.logout();
202-
}
215+
// }
216+
// } catch (error) {
217+
218+
// }
219+
// }
220+
221+
// var session2 = await this.instance.oidc.Session.find(session)
222+
// if (session2 != null) {
223+
// session2.resetIdentifier(); session2.destroy();
224+
// }
225+
// }
226+
// // req.logout();
227+
// }
203228
instance.oidc.callback(req, res);
204229
});
205230

@@ -214,8 +239,6 @@ export class OAuthProvider {
214239
});
215240
instance.app.use('/oidccb', async (req, res, next) => {
216241
try {
217-
218-
var test = await this.instance.oidc.interactionDetails(req, res);
219242
const {
220243
uid, prompt, params, session,
221244
} = await this.instance.oidc.interactionDetails(req, res);
@@ -264,7 +287,6 @@ export class OAuthProvider {
264287
);
265288
}
266289
} catch (error) {
267-
span?.recordException(error);
268290
if (error.name == "SessionNotFound") {
269291
res.redirect(`/`);
270292
res.end();
@@ -278,7 +300,10 @@ export class OAuthProvider {
278300
span?.recordException(error);
279301
Logger.instanse.error(error);
280302
}
281-
Logger.otel.endSpan(span);
303+
finally {
304+
Logger.otel.endSpan(span);
305+
}
306+
282307
}
283308
static configure(app: express.Express, parent: Span): OAuthProvider {
284309
const span: Span = Logger.otel.startSubSpan("OAuthProvider.configure", parent);
@@ -504,26 +529,6 @@ export class OAuthProvider {
504529
this.codes[code] = codeobject;
505530
await Config.db.InsertOne(codeobject, "oauthtokens", 1, false, Crypt.rootToken(), span);
506531
Logger.instanse.info("[OAuth] saveAuthorizationCode " + code + " saved");
507-
// instance.codes[code].client_id = client_id;
508-
509-
510-
// await Config.db.InsertOne(result, "oauthtokens", 0, false, Crypt.rootToken());
511-
512-
// // const codeToSave: any = this.codes[code];
513-
// const codeToSave: any = {
514-
// 'authorizationCode': code.authorizationCode,
515-
// 'expiresAt': code.expiresAt,
516-
// 'redirectUri': code.redirectUri,
517-
// 'scope': code.scope,
518-
// 'client': client.id,
519-
// 'user': user.username
520-
// };
521-
// this.codes[code] = codeToSave;
522-
// this.revokeAuthorizationCode(code);
523-
// code = Object.assign({}, code, {
524-
// 'client': client.id,
525-
// 'user': user.username
526-
// });
527532
Logger.otel.endSpan(span);
528533
return codeobject;
529534
}

0 commit comments

Comments
 (0)