oauth2-provider/src/provider.ts

29 lines
699 B
TypeScript
Raw Permalink Normal View History

2022-02-25 16:31:59 +00:00
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';
2022-02-25 16:31:59 +00:00
export class OAuth2Provider implements OAuth2 {
public bearer = middleware;
public controller = controller;
public logger = new OAuth2Logger('info');
2022-02-25 16:31:59 +00:00
constructor(
2022-02-25 16:31:59 +00:00
public model: OAuth2AdapterModel,
public decision: RenderOAuth2Decision
2022-02-25 16:31:59 +00:00
) {}
express(): RequestHandler {
return (req, _res, next) => {
req.oauth2 = this;
2022-03-09 18:44:31 +00:00
this.logger.debug('OAuth2 Injected into request');
2022-02-25 16:31:59 +00:00
next();
};
2022-02-25 16:31:59 +00:00
}
}