@jvhaile/loopback4-helper
Version:
Helper components and tools for loopback 4.
31 lines (27 loc) • 1.27 kB
text/typescript
import {registerAuthenticationStrategy} from '@loopback/authentication';
import {
Application,
Binding,
BindingScope,
Component,
CoreBindings,
createBindingFromClass,
inject
} from '@loopback/core';
import {AuthStrategy} from "./auth-strategy";
import {AuthenticationService} from "./services/authentication.service";
import {JWTService} from "./services/jwt.service";
import {AUTHENTICATION_SERVICE, FirebaseBindings, JWTBindings} from "./keys";
import {FirebaseService} from "./services/firebase.service";
import {UserAgentMiddlewareProvider} from "./middlewares/user-agent.middleware";
export class AuthComponent implements Component {
bindings: Binding[] = [
Binding.bind(JWTBindings.JWT_SERVICE).toClass(JWTService).inScope(BindingScope.SINGLETON),
Binding.bind(FirebaseBindings.FIREBASE_SERVICE).toClass(FirebaseService).inScope(BindingScope.SINGLETON),
Binding.bind(AUTHENTICATION_SERVICE).toClass(AuthenticationService).inScope(BindingScope.SINGLETON),
];
constructor((CoreBindings.APPLICATION_INSTANCE) app: Application) {
app.add(createBindingFromClass(UserAgentMiddlewareProvider));
registerAuthenticationStrategy(app, AuthStrategy);
}
}