1.0.7 • Published 4 years ago

@koakh/nestjs-package-jwt-authentication v1.0.7

Weekly downloads
3
License
MIT
Repository
github
Last release
4 years ago

README

README in GitHub: NestJsPackageJwtAuthentication

Create a test Application with NestJsPackageJwtAuthentication

# bootstrap a new nest test app
$ nest new test
$ cd test
# install deps
$ npm i @koakh/nestjs-package-jwt-authentication @nestjs/config
# edit AppModule
$ code src/app.module.ts

add AuthModule and ConfigModule from @koakh/nestjs-package-jwt-authentication and @nestjs/config

src/app.module.ts

import { Module } from '@nestjs/common';
import { AppController } from './app.controller';
import { AppService } from './app.service';
import { AuthModule } from '@koakh/nestjs-package-jwt-authentication';
import { ConfigModule } from '@nestjs/config';

@Module({
  imports: [
    ConfigModule.forRoot({ isGlobal: true, }),
    AuthModule,
  ],
  controllers: [AppController],
  providers: [AppService],
})

export class AppModule { }

add a test/.env file

ACCESS_TOKEN_JWT_SECRET=secretKeyAccessToken
ACCESS_TOKEN_EXPIRES_IN=15m
REFRESH_TOKEN_JWT_SECRET=secretKeyRefreshToken
REFRESH_TOKEN_EXPIRES_IN=7d
REFRESH_TOKEN_SKIP_INCREMENT_VERSION=false

Test Endpoints

# clone client.http
wget https://raw.githubusercontent.com/koakh/NestJsPackageJwtAuthentication/main/client.http

Note: required the awesome REST Client

now test all requests

or test with a simple curl

$ curl --request POST \
  --url http://localhost:3000/auth/login \
  --header 'content-type: application/json' \
  --header 'user-agent: vscode-restclient' \
  --data '{"username": "admin","password": "12345678"}' \
  | jq

{
  "user": {
    "id": "efeed3eb-c0a2-4b3e-816f-2a42ca8451b3",
    "username": "admin",
    "firstName": "Pietra",
    "lastName": "Heine",
    "email": "pheine0@illinois.edu",
    "roles": [
      "USER",
      "ADMIN"
    ],
    "createdDate": 1597444307,
    "metaData": {
      "key": "value"
    }
  },
  "accessToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6ImFkbWluIiwic3ViIjoiZWZlZWQzZWItYzBhMi00YjNlLTgxNmYtMmE0MmNhODQ1MWIzIiwicm9sZXMiOlsiVVNFUiIsIkFETUlOIl0sImlhdCI6MTYwMjI2MDk3NywiZXhwIjoxNjAyMjYxODc3fQ.-n6-xmrKIObquE10bKHnKRgzDvIFClkOQiVJMy8w0ew"
}

we are done