29 lines
705 B
TypeScript
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();
|
|
};
|
|
}
|
|
}
|