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
text/typescript
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(
(LbxJwtBindings.DATASOURCE_KEY)
dataSource: juggler.DataSource,
.getter('BaseUserRepository')
protected baseUserRepositoryGetter: Getter<BaseUserRepository<RoleType>>
) {
super(PasswordResetToken, dataSource);
this.baseUser = this.createBelongsToAccessorFor('baseUser', baseUserRepositoryGetter);
this.registerInclusionResolver('baseUser', this.baseUser.inclusionResolver);
}
}