@@ -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