// import * as OAuthServer from "oauth2-server";
import * as express from "express";
import { TokenUser, Base, NoderedUtil, User, InsertOrUpdateOneMessage } from "@openiap/openflow-api";
import { Config } from "./Config";
import { Crypt } from "./Crypt";
import { Provider, KoaContextWithOIDC } from "oidc-provider";
import { MongoAdapter } from "./MongoAdapter";
import { Span } from "@opentelemetry/api";
import { Logger } from "./Logger";
import { Audit } from "./Audit";
// const Request = OAuthServer.Request;
// const Response = OAuthServer.Response;
export class OAuthProvider {
private app: express.Express;
public static instance: OAuthProvider = null;
public clients = [];
public oidc: Provider;
static async interactionsUrl(ctx: KoaContextWithOIDC, interaction): PromiseDo you want to sign-out from ${ctx.hostname}?
${form}