mirror of
https://github.com/apricote/Listory.git
synced 2026-01-13 21:21:02 +00:00
feat(api): API tokens for authentication
Create and managed simple API tokens for access to the API from external tools.
This commit is contained in:
parent
eda89716ef
commit
8f7eebb806
15 changed files with 614 additions and 154 deletions
|
|
@ -5,16 +5,18 @@ import { PassportModule } from "@nestjs/passport";
|
|||
import { CookieParserMiddleware } from "../cookie-parser";
|
||||
import { TypeOrmRepositoryModule } from "../database/entity-repository/typeorm-repository.module";
|
||||
import { UsersModule } from "../users/users.module";
|
||||
import { ApiTokenRepository } from "./api-token.repository";
|
||||
import { AuthSessionRepository } from "./auth-session.repository";
|
||||
import { AuthController } from "./auth.controller";
|
||||
import { AuthService } from "./auth.service";
|
||||
import { AccessTokenStrategy } from "./strategies/access-token.strategy";
|
||||
import { ApiTokenStrategy } from "./strategies/api-token.strategy";
|
||||
import { RefreshTokenStrategy } from "./strategies/refresh-token.strategy";
|
||||
import { SpotifyStrategy } from "./strategies/spotify.strategy";
|
||||
|
||||
@Module({
|
||||
imports: [
|
||||
TypeOrmRepositoryModule.for([AuthSessionRepository]),
|
||||
TypeOrmRepositoryModule.for([AuthSessionRepository, ApiTokenRepository]),
|
||||
PassportModule.register({ defaultStrategy: "jwt" }),
|
||||
JwtModule.registerAsync({
|
||||
useFactory: (config: ConfigService) => ({
|
||||
|
|
@ -33,6 +35,7 @@ import { SpotifyStrategy } from "./strategies/spotify.strategy";
|
|||
SpotifyStrategy,
|
||||
AccessTokenStrategy,
|
||||
RefreshTokenStrategy,
|
||||
ApiTokenStrategy,
|
||||
],
|
||||
exports: [PassportModule],
|
||||
controllers: [AuthController],
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue