UNPKG

lbx-jwt

Version:

Provides JWT authentication for loopback applications. Includes storing roles inside tokens and handling refreshing. Built-in reuse detection.

27 lines (23 loc) 1.18 kB
import { inject, Getter } from '@loopback/core'; import { DefaultCrudRepository, repository, BelongsToAccessor, juggler } from '@loopback/repository'; import { BaseUserRepository } from './base-user.repository'; import { LbxJwtBindings } from '../keys'; import { BaseUser } from '../models'; import { PasswordResetToken, PasswordResetTokenRelations } from '../models/password-reset-token.model'; export class PasswordResetTokenRepository<RoleType extends string> extends DefaultCrudRepository< PasswordResetToken, typeof PasswordResetToken.prototype.id, PasswordResetTokenRelations > { readonly baseUser: BelongsToAccessor<BaseUser<RoleType>, typeof PasswordResetToken.prototype.id>; constructor( @inject(LbxJwtBindings.DATASOURCE_KEY) dataSource: juggler.DataSource, @repository.getter('BaseUserRepository') protected baseUserRepositoryGetter: Getter<BaseUserRepository<RoleType>> ) { super(PasswordResetToken, dataSource); this.baseUser = this.createBelongsToAccessorFor('baseUser', baseUserRepositoryGetter); this.registerInclusionResolver('baseUser', this.baseUser.inclusionResolver); } }