Add middleware and logic for bootstrapping the session auth
All checks were successful
continuous-integration/drone/push Build is passing

This commit is contained in:
2021-06-05 13:24:12 -05:00
parent 91abcdf8ef
commit f00233d49a
14 changed files with 201 additions and 9 deletions

View File

@@ -0,0 +1,19 @@
import {Middleware} from '../../http/routing/Middleware'
import {Inject, Injectable} from '../../di'
import {SecurityContext} from '../SecurityContext'
import {ResponseObject} from '../../http/routing/Route'
import {error} from '../../http/response/ErrorResponseFactory'
import {NotAuthorizedError} from '../NotAuthorizedError'
import {HTTPStatus} from '../../util'
@Injectable()
export class AuthRequiredMiddleware extends Middleware {
@Inject()
protected readonly security!: SecurityContext
async apply(): Promise<ResponseObject> {
if ( !this.security.hasUser() ) {
return error(new NotAuthorizedError(), HTTPStatus.FORBIDDEN)
}
}
}