Releases: Lokicoule/nestjs-cognito
@nestjs-cognito/core@1.2.2
What's Changed
- chore(deps): update dependency eslint-plugin-import to v2.29.1 by @renovate in #784
- chore(deps): update dependency @aws-sdk/client-cognito-identity-provider to v3.474.0 by @renovate in #785
- chore(deps): update dependency lerna to v8.0.1 by @renovate in #786
- chore(deps): update dependency eslint to v8.56.0 by @renovate in #787
- chore(deps): update dependency @types/node to v20.10.5 by @renovate in #788
- chore(deps): update typescript-eslint monorepo to v6.15.0 by @renovate in #791
- chore(deps): update dependency eslint-plugin-prettier to v5.1.0 by @renovate in #793
- chore(deps): update dependency eslint-plugin-prettier to v5.1.1 by @renovate in #794
- fix(deps): update nest monorepo to v10.3.0 by @renovate in #789
- chore(deps): update dependency eslint-plugin-prettier to v5.1.2 by @renovate in #795
- chore(deps): update dependency @aws-sdk/client-cognito-identity-provider to v3.478.0 by @renovate in #792
- chore(deps): update typescript-eslint monorepo to v6.16.0 by @renovate in #797
- chore(deps): update dependency @types/node to v20.10.6 by @renovate in #799
- chore(deps): update typescript-eslint monorepo to v6.17.0 by @renovate in #800
- chore(deps): update commitlint monorepo to v18.4.4 by @renovate in #802
- chore(deps): update dependency lerna to v8.0.2 by @renovate in #803
- chore(deps): update typescript-eslint monorepo to v6.18.0 by @renovate in #804
- chore(deps): update dependency @types/node to v20.10.7 by @renovate in #805
- chore(deps): update dependency @nestjs/cli to v10.3.0 by @renovate in #806
- chore(deps): update dependency @nestjs/schematics to v10.1.0 by @renovate in #807
- chore(deps): update dependency @aws-sdk/client-cognito-identity-provider to v3.485.0 by @renovate in #798
- fix(deps): update dependency @apollo/server to v4.10.0 by @renovate in #801
- chore(deps): update typescript-eslint monorepo to v6.18.1 by @renovate in #809
- chore(deps): update dependency @types/node to v20.10.8 by @renovate in #810
- chore(deps): update dependency eslint-plugin-prettier to v5.1.3 by @renovate in #811
- chore(deps): update dependency @types/node to v20.11.0 by @renovate in #813
- chore(deps): update dependency class-validator to v0.14.1 by @renovate in #814
- chore(deps): update dependency prettier to v3.2.1 by @renovate in #815
- chore(deps): update dependency pactum to v3.6.0 by @renovate in #816
- chore(deps): update dependency prettier to v3.2.2 by @renovate in #817
- chore(deps): update dependency supertest to v6.3.4 by @renovate in #818
- chore(deps): update dependency @types/node to v20.11.2 by @renovate in #819
- chore(deps): update typescript-eslint monorepo to v6.19.0 by @renovate in #820
- chore(deps): update dependency @types/node to v20.11.3 by @renovate in #821
- chore(deps): update dependency @types/node to v20.11.4 by @renovate in #822
- chore(deps): update dependency prettier to v3.2.3 by @renovate in #823
- chore(deps): update dependency @types/node to v20.11.5 by @renovate in #824
- chore(deps): update dependency prettier to v3.2.4 by @renovate in #825
- chore(deps): update dependency @aws-sdk/client-cognito-identity-provider to v3.490.0 by @renovate in #812
- chore(deps): update dependency ts-jest to v29.1.2 by @renovate in #827
- chore(deps): update commitlint monorepo to v18.5.0 by @renovate in #828
- chore(deps): update typescript-eslint monorepo to v6.19.1 by @renovate in #829
- chore(deps): update dependency @types/node to v20.11.6 by @renovate in #831
- chore(deps): update dependency husky to v9 by @renovate in #832
- chore(deps): update commitlint monorepo to v18.6.0 by @renovate in #834
- chore(deps): update dependency @aws-sdk/client-cognito-identity-provider to v3.499.0 by @renovate in #826
- chore(deps): update dependency husky to v9.0.5 by @renovate in #833
- chore(deps): update dependency husky to v9.0.6 by @renovate in #835
- chore(deps): update dependency @types/node to v20.11.7 by @renovate in #836
- chore(deps): update dependency @types/node to v20.11.8 by @renovate in #838
- fix(deps): update nest monorepo to v10.3.1 by @renovate in #830
- chore(deps): update dependency @types/node to v20.11.10 by @renovate in #839
- chore(deps): update dependency husky to v9.0.7 by @renovate in #840
- chore(deps): update typescript-eslint monorepo to v6.20.0 by @renovate in #841
- chore(deps): update dependency @types/node to v20.11.13 by @renovate in #842
- chore(deps): update dependency lint-staged to v15.2.1 by @renovate in #843
- chore(deps): update dependency @types/node to v20.11.14 by @renovate in #844
- chore(deps): update dependency @aws-sdk/client-cognito-identity-provider to v3.504.0 by @renovate in #837
Full Changelog: https://github.com/Lokicoule/nestjs-cognito/compare/@nestjs-cognito/core@1.2.1...@nestjs-cognito/core@1.2.2
@nestjs-cognito/auth@1.1.2
What's Changed
- chore(deps): update dependency eslint-plugin-import to v2.29.1 by @renovate in #784
- chore(deps): update dependency @aws-sdk/client-cognito-identity-provider to v3.474.0 by @renovate in #785
- chore(deps): update dependency lerna to v8.0.1 by @renovate in #786
- chore(deps): update dependency eslint to v8.56.0 by @renovate in #787
- chore(deps): update dependency @types/node to v20.10.5 by @renovate in #788
- chore(deps): update typescript-eslint monorepo to v6.15.0 by @renovate in #791
- chore(deps): update dependency eslint-plugin-prettier to v5.1.0 by @renovate in #793
- chore(deps): update dependency eslint-plugin-prettier to v5.1.1 by @renovate in #794
- fix(deps): update nest monorepo to v10.3.0 by @renovate in #789
- chore(deps): update dependency eslint-plugin-prettier to v5.1.2 by @renovate in #795
- chore(deps): update dependency @aws-sdk/client-cognito-identity-provider to v3.478.0 by @renovate in #792
- chore(deps): update typescript-eslint monorepo to v6.16.0 by @renovate in #797
- chore(deps): update dependency @types/node to v20.10.6 by @renovate in #799
- chore(deps): update typescript-eslint monorepo to v6.17.0 by @renovate in #800
- chore(deps): update commitlint monorepo to v18.4.4 by @renovate in #802
- chore(deps): update dependency lerna to v8.0.2 by @renovate in #803
- chore(deps): update typescript-eslint monorepo to v6.18.0 by @renovate in #804
- chore(deps): update dependency @types/node to v20.10.7 by @renovate in #805
- chore(deps): update dependency @nestjs/cli to v10.3.0 by @renovate in #806
- chore(deps): update dependency @nestjs/schematics to v10.1.0 by @renovate in #807
- chore(deps): update dependency @aws-sdk/client-cognito-identity-provider to v3.485.0 by @renovate in #798
- fix(deps): update dependency @apollo/server to v4.10.0 by @renovate in #801
- chore(deps): update typescript-eslint monorepo to v6.18.1 by @renovate in #809
- chore(deps): update dependency @types/node to v20.10.8 by @renovate in #810
- chore(deps): update dependency eslint-plugin-prettier to v5.1.3 by @renovate in #811
- chore(deps): update dependency @types/node to v20.11.0 by @renovate in #813
- chore(deps): update dependency class-validator to v0.14.1 by @renovate in #814
- chore(deps): update dependency prettier to v3.2.1 by @renovate in #815
- chore(deps): update dependency pactum to v3.6.0 by @renovate in #816
- chore(deps): update dependency prettier to v3.2.2 by @renovate in #817
- chore(deps): update dependency supertest to v6.3.4 by @renovate in #818
- chore(deps): update dependency @types/node to v20.11.2 by @renovate in #819
- chore(deps): update typescript-eslint monorepo to v6.19.0 by @renovate in #820
- chore(deps): update dependency @types/node to v20.11.3 by @renovate in #821
- chore(deps): update dependency @types/node to v20.11.4 by @renovate in #822
- chore(deps): update dependency prettier to v3.2.3 by @renovate in #823
- chore(deps): update dependency @types/node to v20.11.5 by @renovate in #824
- chore(deps): update dependency prettier to v3.2.4 by @renovate in #825
- chore(deps): update dependency @aws-sdk/client-cognito-identity-provider to v3.490.0 by @renovate in #812
- chore(deps): update dependency ts-jest to v29.1.2 by @renovate in #827
- chore(deps): update commitlint monorepo to v18.5.0 by @renovate in #828
- chore(deps): update typescript-eslint monorepo to v6.19.1 by @renovate in #829
- chore(deps): update dependency @types/node to v20.11.6 by @renovate in #831
- chore(deps): update dependency husky to v9 by @renovate in #832
- chore(deps): update commitlint monorepo to v18.6.0 by @renovate in #834
- chore(deps): update dependency @aws-sdk/client-cognito-identity-provider to v3.499.0 by @renovate in #826
- chore(deps): update dependency husky to v9.0.5 by @renovate in #833
- chore(deps): update dependency husky to v9.0.6 by @renovate in #835
- chore(deps): update dependency @types/node to v20.11.7 by @renovate in #836
- chore(deps): update dependency @types/node to v20.11.8 by @renovate in #838
- fix(deps): update nest monorepo to v10.3.1 by @renovate in #830
- chore(deps): update dependency @types/node to v20.11.10 by @renovate in #839
- chore(deps): update dependency husky to v9.0.7 by @renovate in #840
- chore(deps): update typescript-eslint monorepo to v6.20.0 by @renovate in #841
- chore(deps): update dependency @types/node to v20.11.13 by @renovate in #842
- chore(deps): update dependency lint-staged to v15.2.1 by @renovate in #843
- chore(deps): update dependency @types/node to v20.11.14 by @renovate in #844
- chore(deps): update dependency @aws-sdk/client-cognito-identity-provider to v3.504.0 by @renovate in #837
Full Changelog: https://github.com/Lokicoule/nestjs-cognito/compare/@nestjs-cognito/auth@1.1.1...@nestjs-cognito/auth@1.1.2
@nestjs-cognito/testing@1.1.1
What's Changed
- chore(deps): update dependency @aws-sdk/client-cognito-identity-provider to v3.468.0 by @renovate in #768
- chore(deps): update dependency @types/node to v20.10.4 by @renovate in #769
- fix(deps): update dependency reflect-metadata to v0.1.14 by @renovate in #770
- chore(deps): update dependency ts-node to v10.9.2 by @renovate in #772
- refactor: authentication and authorization method decorators by @Lokicoule in #774
- chore(deps): update actions/checkout action to v4 by @renovate in #778
- chore(deps): update actions/setup-node action to v4 by @renovate in #779
- chore(deps): update dependency prettier to v3.1.1 by @renovate in #780
- chore(deps): update typescript-eslint monorepo to v6.14.0 by @renovate in #781
- feat(auth): implements whitelist by @Lokicoule in #783
- chore(deps): update dependency @aws-sdk/client-cognito-identity-provider to v3.473.0 by @renovate in #777
Full Changelog: https://github.com/Lokicoule/nestjs-cognito/compare/@nestjs-cognito/testing@1.1.0...@nestjs-cognito/testing@1.1.1
@nestjs-cognito/graphql@2.1.1
What's Changed
- chore(deps): update dependency @aws-sdk/client-cognito-identity-provider to v3.468.0 by @renovate in #768
- chore(deps): update dependency @types/node to v20.10.4 by @renovate in #769
- fix(deps): update dependency reflect-metadata to v0.1.14 by @renovate in #770
- chore(deps): update dependency ts-node to v10.9.2 by @renovate in #772
- refactor: authentication and authorization method decorators by @Lokicoule in #774
- chore(deps): update actions/checkout action to v4 by @renovate in #778
- chore(deps): update actions/setup-node action to v4 by @renovate in #779
- chore(deps): update dependency prettier to v3.1.1 by @renovate in #780
- chore(deps): update typescript-eslint monorepo to v6.14.0 by @renovate in #781
- feat(auth): implements whitelist by @Lokicoule in #783
- chore(deps): update dependency @aws-sdk/client-cognito-identity-provider to v3.473.0 by @renovate in #777
Full Changelog: https://github.com/Lokicoule/nestjs-cognito/compare/@nestjs-cognito/graphql@2.1.0...@nestjs-cognito/graphql@2.1.1
@nestjs-cognito/core@1.2.1
What's Changed
- chore(deps): update dependency @aws-sdk/client-cognito-identity-provider to v3.468.0 by @renovate in #768
- chore(deps): update dependency @types/node to v20.10.4 by @renovate in #769
- fix(deps): update dependency reflect-metadata to v0.1.14 by @renovate in #770
- chore(deps): update dependency ts-node to v10.9.2 by @renovate in #772
- refactor: authentication and authorization method decorators by @Lokicoule in #774
- chore(deps): update actions/checkout action to v4 by @renovate in #778
- chore(deps): update actions/setup-node action to v4 by @renovate in #779
- chore(deps): update dependency prettier to v3.1.1 by @renovate in #780
- chore(deps): update typescript-eslint monorepo to v6.14.0 by @renovate in #781
- feat(auth): implements whitelist by @Lokicoule in #783
- chore(deps): update dependency @aws-sdk/client-cognito-identity-provider to v3.473.0 by @renovate in #777
Full Changelog: https://github.com/Lokicoule/nestjs-cognito/compare/@nestjs-cognito/core@1.2.0...@nestjs-cognito/core@1.2.1
@nestjs-cognito/auth@1.1.1
What's Changed
- chore(deps): update dependency @aws-sdk/client-cognito-identity-provider to v3.468.0 by @renovate in #768
- chore(deps): update dependency @types/node to v20.10.4 by @renovate in #769
- fix(deps): update dependency reflect-metadata to v0.1.14 by @renovate in #770
- chore(deps): update dependency ts-node to v10.9.2 by @renovate in #772
- refactor: authentication and authorization method decorators by @Lokicoule in #774
- chore(deps): update actions/checkout action to v4 by @renovate in #778
- chore(deps): update actions/setup-node action to v4 by @renovate in #779
- chore(deps): update dependency prettier to v3.1.1 by @renovate in #780
- chore(deps): update typescript-eslint monorepo to v6.14.0 by @renovate in #781
- feat(auth): implements whitelist by @Lokicoule in #783
- chore(deps): update dependency @aws-sdk/client-cognito-identity-provider to v3.473.0 by @renovate in #777
Full Changelog: https://github.com/Lokicoule/nestjs-cognito/compare/@nestjs-cognito/auth@1.1.0...@nestjs-cognito/auth@1.1.1
Version 1.0.0
Greetings!
We are excited to announce a major update to the @nestjs-cognito/auth package, now using aws-jwt-verify instead of @aws-sdk/client-cognito-identity-provider. This change promises to improve performance and functionality.
Please note that the code for importing and registering the CognitoAuthModule
has changed and CurrentUser
has been replaced with CognitoUser
in @nestjs-cognito/auth and with GqlCognitoUser
in @nestjs-cognito/graphql. The Authentication
and Authorization
decorators have also been replaced with GqlAuthentication
and GqlAuthorization
. These changes have been made for improved functionality and to provide better user experience.
To upgrade, you'll need to update your configuration code. The old code is as follows:
import { CognitoAuthModule } from "@nestjs-cognito/auth";
import { Module } from "@nestjs/common";
@Module({
imports: [
CognitoAuthModule.register({
region: "region",
}),
],
})
export class AppModule {}
The new code for the updated configuration:
import { CognitoAuthModule } from "@nestjs-cognito/auth";
import { Module } from "@nestjs/common";
@Module({
imports: [
CognitoAuthModule.register({
jwtVerifier: {
userPoolId: "user_pool_id",
clientId: "client_id",
tokenUse: "id",
},
}),
],
})
export class AppModule {}
In addition to this update, a new feature has been added: the @CognitoUser
decorator. This decorator allows you to retrieve the Cognito user from an incoming request and inject either the entire CognitoJwtPayload
object or specific properties from it (such as username or email) into your controllers. Note that the cognito:
namespace is automatically managed, so you don't need to include it when accessing properties such as cognito:username
or cognito:groups
.
This decorator must be used in conjunction with an authentication guard, such as Authentication
or Authorization
. You can also specify the property name you want to inject the user into, or extract multiple properties by passing an array of strings.
For example:
@Controller()
@Authentication()
export class YourController {
@Get()
findAll(@CognitoUser() cognitoJwtPayload: CognitoJwtPayload): string {
return "This action returns all the data";
}
}
Optional property name
You can specify the name of the property to inject the user into by passing a string as an argument.
import { Authentication, CognitoUser } from "@nestjs-cognito/auth";
@Controller()
@Authentication()
export class YourController {
@Get()
getData(@CognitoUser("email") email: string): any {
// Use the `email` string
}
}
Multiple properties
You can extract multiple properties from the cognito user by passing an array of strings.
import { Authentication, CognitoUser } from "@nestjs-cognito/auth";
@Controller()
@Authentication()
export class YourController {
@Get()
getData(
@CognitoUser(["groups", "email", "username"])
{
groups,
email,
username,
}: {
groups: string[];
email: string;
username: string;
}
): any {
// Use the `groups` and/or `username` and `email` strings
}
}
Upgrade now to take advantage of this new feature.