oauth2-provider/src/provider.ts

29 lines
705 B
TypeScript

import { RequestHandler } from 'express';
import * as controller from './controller';
import { middleware } from './middleware';
import {
RenderOAuth2Decision,
OAuth2,
OAuth2AdapterModel,
} from './model/model';
import { OAuth2Logger } from './utils/logger';
export class OAuth2Provider implements OAuth2 {
public bearer = middleware;
public controller = controller;
public logger = new OAuth2Logger('info');
constructor(
public model: OAuth2AdapterModel,
public decision: RenderOAuth2Decision
) {}
express(): RequestHandler {
return (req, _res, next) => {
req.oauth2.logger.debug('OAuth2 Injected into request');
req.oauth2 = this;
next();
};
}
}