This commit is contained in:
Jeremy Yin 2019-07-09 21:39:47 +08:00
parent 8e044465d1
commit 45406399cf
5 changed files with 96 additions and 7 deletions

View File

@ -23,12 +23,17 @@
"@nestjs/common": "^6.0.0",
"@nestjs/core": "^6.0.0",
"@nestjs/jwt": "^6.1.1",
"@nestjs/passport": "^6.1.0",
"@nestjs/platform-express": "^6.0.0",
"@nestjs/typeorm": "^6.1.2",
"@types/bcrypt": "^3.0.0",
"@types/passport": "^1.0.0",
"@types/passport-jwt": "^3.0.1",
"bcrypt": "^3.0.6",
"class-transformer": "^0.2.3",
"mysql": "^2.17.1",
"passport": "^0.4.0",
"passport-jwt": "^4.0.0",
"reflect-metadata": "^0.1.12",
"rimraf": "^2.6.2",
"rxjs": "^6.3.3",

View File

@ -16,6 +16,7 @@ import { AuthModule } from './modules/auth/auth.module';
password: 'jeremy',
database: 'nest',
synchronize: true,
logging: true,
entities: [__dirname + '/**/*.entity{.ts,.js}'],
}),
PostModule,

View File

@ -3,18 +3,23 @@ import { AuthController } from './auth.controller';
import { AuthService } from './auth.service';
import { UserModule } from '../user/user.module';
import { JwtModule } from '@nestjs/jwt';
import { PassportModule } from '@nestjs/passport';
import { JwtStrategy } from './strategies/jwt.strategy';
@Module({
imports: [
UserModule,
JwtModule.register({
secretOrPrivateKey: 'nDSAR3+K4pLD+HIl9xWFY/n7maMxLwPTj5gscZvd9Vo=',
secret: 'nDSAR3+K4pLD+HIl9xWFY/n7maMxLwPTj5gscZvd9Vo=',
signOptions: {
expiresIn: '12h',
}
})
}),
PassportModule.register({
defaultStrategy: 'jwt',
}),
],
controllers: [AuthController],
providers: [AuthService]
providers: [AuthService, JwtStrategy]
})
export class AuthModule {}

View File

@ -31,7 +31,7 @@ export class AuthService {
const token = this.signToken(payload)
return {
...payload
...payload,
token
}
}

View File

@ -47,6 +47,11 @@
"@types/jsonwebtoken" "7.2.8"
jsonwebtoken "8.4.0"
"@nestjs/passport@^6.1.0":
version "6.1.0"
resolved "https://registry.npm.taobao.org/@nestjs/passport/download/@nestjs/passport-6.1.0.tgz#80da326cc976a82530648d8025b04c8e2d41c10e"
integrity sha1-gNoybMl2qCUwZI2AJbBMji1BwQ4=
"@nestjs/platform-express@^6.0.0":
version "6.3.1"
resolved "https://registry.npm.taobao.org/@nestjs/platform-express/download/@nestjs/platform-express-6.3.1.tgz#8adb602a5bb9571b9d58646bd52141a26ea8ba3e"
@ -113,7 +118,7 @@
"@types/node" "*"
"@types/range-parser" "*"
"@types/express@^4.16.0":
"@types/express@*", "@types/express@^4.16.0":
version "4.17.0"
resolved "https://registry.npm.taobao.org/@types/express/download/@types/express-4.17.0.tgz#49eaedb209582a86f12ed9b725160f12d04ef287"
integrity sha1-SertsglYKobxLtm3JRYPEtBO8oc=
@ -132,6 +137,13 @@
resolved "https://registry.npm.taobao.org/@types/json5/download/@types/json5-0.0.29.tgz#ee28707ae94e11d2b827bcbe5270bcea7f3e71ee"
integrity sha1-7ihweulOEdK4J7y+UnC86n8+ce4=
"@types/jsonwebtoken@*":
version "8.3.2"
resolved "https://registry.npm.taobao.org/@types/jsonwebtoken/download/@types/jsonwebtoken-8.3.2.tgz#e3d5245197152346fae7ee87d5541aa5a92d0362"
integrity sha1-49UkUZcVI0b65+6H1VQapaktA2I=
dependencies:
"@types/node" "*"
"@types/jsonwebtoken@7.2.8":
version "7.2.8"
resolved "https://registry.npm.taobao.org/@types/jsonwebtoken/download/@types/jsonwebtoken-7.2.8.tgz#8d199dab4ddb5bba3234f8311b804d2027af2b3a"
@ -154,6 +166,30 @@
resolved "https://registry.npm.taobao.org/@types/node/download/@types/node-10.14.9.tgz#2e8d678039d27943ce53a1913386133227fd9066"
integrity sha1-Lo1ngDnSeUPOU6GRM4YTMif9kGY=
"@types/passport-jwt@^3.0.1":
version "3.0.1"
resolved "https://registry.npm.taobao.org/@types/passport-jwt/download/@types/passport-jwt-3.0.1.tgz#bc4c2610815565de977ea1a580c047d71c646084"
integrity sha1-vEwmEIFVZd6XfqGlgMBH1xxkYIQ=
dependencies:
"@types/express" "*"
"@types/jsonwebtoken" "*"
"@types/passport-strategy" "*"
"@types/passport-strategy@*":
version "0.2.35"
resolved "https://registry.npm.taobao.org/@types/passport-strategy/download/@types/passport-strategy-0.2.35.tgz#e52f5212279ea73f02d9b06af67efe9cefce2d0c"
integrity sha1-5S9SEieepz8C2bBq9n7+nO/OLQw=
dependencies:
"@types/express" "*"
"@types/passport" "*"
"@types/passport@*", "@types/passport@^1.0.0":
version "1.0.0"
resolved "https://registry.npm.taobao.org/@types/passport/download/@types/passport-1.0.0.tgz#747fa127a747a145ff279f3df3e07c425e5ff297"
integrity sha1-dH+hJ6dHoUX/J5898+B8Ql5f8pc=
dependencies:
"@types/express" "*"
"@types/range-parser@*":
version "1.2.3"
resolved "https://registry.npm.taobao.org/@types/range-parser/download/@types/range-parser-1.2.3.tgz#7ee330ba7caafb98090bece86a5ee44115904c2c"
@ -3024,6 +3060,22 @@ jsonwebtoken@8.4.0:
lodash.once "^4.0.0"
ms "^2.1.1"
jsonwebtoken@^8.2.0:
version "8.5.1"
resolved "https://registry.npm.taobao.org/jsonwebtoken/download/jsonwebtoken-8.5.1.tgz#00e71e0b8df54c2121a1f26137df2280673bcc0d"
integrity sha1-AOceC431TCEhofJhN98igGc7zA0=
dependencies:
jws "^3.2.2"
lodash.includes "^4.3.0"
lodash.isboolean "^3.0.3"
lodash.isinteger "^4.0.4"
lodash.isnumber "^3.0.3"
lodash.isplainobject "^4.0.6"
lodash.isstring "^4.0.1"
lodash.once "^4.0.0"
ms "^2.1.1"
semver "^5.6.0"
jsprim@^1.2.2:
version "1.4.1"
resolved "https://registry.npm.taobao.org/jsprim/download/jsprim-1.4.1.tgz#313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2"
@ -3043,7 +3095,7 @@ jwa@^1.4.1:
ecdsa-sig-formatter "1.0.11"
safe-buffer "^5.0.1"
jws@^3.1.5:
jws@^3.1.5, jws@^3.2.2:
version "3.2.2"
resolved "https://registry.npm.taobao.org/jws/download/jws-3.2.2.tgz#001099f3639468c9414000e99995fa52fb478304"
integrity sha1-ABCZ82OUaMlBQADpmZX6UvtHgwQ=
@ -3916,6 +3968,27 @@ pascalcase@^0.1.1:
resolved "https://registry.npm.taobao.org/pascalcase/download/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14"
integrity sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=
passport-jwt@^4.0.0:
version "4.0.0"
resolved "https://registry.npm.taobao.org/passport-jwt/download/passport-jwt-4.0.0.tgz#7f0be7ba942e28b9f5d22c2ebbb8ce96ef7cf065"
integrity sha1-fwvnupQuKLn10iwuu7jOlu988GU=
dependencies:
jsonwebtoken "^8.2.0"
passport-strategy "^1.0.0"
passport-strategy@1.x.x, passport-strategy@^1.0.0:
version "1.0.0"
resolved "https://registry.npm.taobao.org/passport-strategy/download/passport-strategy-1.0.0.tgz#b5539aa8fc225a3d1ad179476ddf236b440f52e4"
integrity sha1-tVOaqPwiWj0a0XlHbd8ja0QPUuQ=
passport@^0.4.0:
version "0.4.0"
resolved "https://registry.npm.taobao.org/passport/download/passport-0.4.0.tgz#c5095691347bd5ad3b5e180238c3914d16f05811"
integrity sha1-xQlWkTR71a07XhgCOMORTRbwWBE=
dependencies:
passport-strategy "1.x.x"
pause "0.0.1"
path-dirname@^1.0.0:
version "1.0.2"
resolved "https://registry.npm.taobao.org/path-dirname/download/path-dirname-1.0.2.tgz#cc33d24d525e099a5388c0336c6e32b9160609e0"
@ -3967,6 +4040,11 @@ path-type@^1.0.0:
pify "^2.0.0"
pinkie-promise "^2.0.0"
pause@0.0.1:
version "0.0.1"
resolved "https://registry.npm.taobao.org/pause/download/pause-0.0.1.tgz#1d408b3fdb76923b9543d96fb4c9dfd535d9cb5d"
integrity sha1-HUCLP9t2kjuVQ9lvtMnf1TXZy10=
performance-now@^2.1.0:
version "2.1.0"
resolved "https://registry.npm.taobao.org/performance-now/download/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b"
@ -4429,7 +4507,7 @@ semver-diff@^2.0.0:
dependencies:
semver "^5.0.3"
"semver@2 || 3 || 4 || 5", semver@^5.0.3, semver@^5.1.0, semver@^5.3.0, semver@^5.5, semver@^5.5.0:
"semver@2 || 3 || 4 || 5", semver@^5.0.3, semver@^5.1.0, semver@^5.3.0, semver@^5.5, semver@^5.5.0, semver@^5.6.0:
version "5.7.0"
resolved "https://registry.npm.taobao.org/semver/download/semver-5.7.0.tgz?cache=0&sync_timestamp=1559063729249&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsemver%2Fdownload%2Fsemver-5.7.0.tgz#790a7cf6fea5459bac96110b29b60412dc8ff96b"
integrity sha1-eQp89v6lRZuslhELKbYEEtyP+Ws=