Releases: ferrerojosh/nest-keycloak-connect
Releases · ferrerojosh/nest-keycloak-connect
1.8.1
1.8.0
Adds multi tenant support and updated peer dependency for @nestjs/graphql
.
Changes:
1.7.6
1.7.5
1.7.4
1.7.3
Fixes a major incompatibility issue which resulted in making NestJS 8 mandatory (#78, #79).
Changes:
- Moved
@nestjs/graphql
from optional to peer dependency, this change will allow npm to not forcibly install it. It is still an optional peer dependency as it is needed for GraphQL support. - Added Keycloak 15.0 to the supported list of peer dependency versions.
- Changed peer dependency versions for NestJS from 6.0 up to 8.0
- Added a deprecation warning for users using the option configuration
useNestLogger
andlogLevels
as it will be removed in the next major update.
1.7.1
A minor release.
Breaking Changes:
- No longer supports versions of NestJS 8 and below, due to the addition of ConsoleLogger. (I might remove log levels if that's what it takes to support the older NestJS versions)
Changes:
1.6.1
Minor release.
Changes:
- Add token validation method (#40, #62)
- Add policy enforcement mode (enforcing, permissive)
- Rework module registration (#63)
With this, it is now possible to register the module this way:
Method 1 (keycloak json path + library options)
KeycloakConnectModule.register(`./keycloak.json`, {
cookieKey: 'KEYCLOAK_JWT',
logLevels: ['verbose'],
useNestLogger: false,
policyEnforcement: PolicyEnforcementMode.ENFORCING,
tokenValidation: TokenValidation.NONE,
}),
Method 2 (keycloak json path only)
KeycloakConnectModule.register(`./keycloak.json`)
Method 3 (the usual method, merging both keycloak config and library options)
KeycloakConnectModule.register({
authServerUrl: 'http://localhost:8080/auth',
realm: 'nest-example',
clientId: 'nest-api',
secret: '05c1ff5e-f9ba-4622-98e3-c4c9d280546e',
// optional if you want to retrieve JWT from cookie
cookieKey: 'KEYCLOAK_JWT',
logLevels: ['verbose'],
useNestLogger: false,
policyEnforcement: PolicyEnforcementMode.ENFORCING,
tokenValidation: TokenValidation.NONE,
})
1.6.0
A minor update release.
Breaking Changes:
@Roles
decorator parameters changed, now requires you to pass a parameter object, a quick snippet (#45, thanks @jalorenz):
// Client application roles
@Roles({ roles: ['admin', 'other'], mode: RoleMatchingMode.ALL })
// Realm roles, simply prefix it with realm:
@Roles({ roles: ['realm:admin', 'realm:other'], mode: RoleMatchingMode.ALL })
@Roles
decorator now defaults to match ANY roles given- Remove
@AllowAnyRole
decorator
Changes: