UNPKG

oauth2-mock-server

Version:
77 lines (53 loc) 2.9 kB
# Migration guide ## From 3.2.0 to 4.0.0 Complete diff available in pull requests [#80](https://github.com/axa-group/oauth2-mock-server/pull/80) and [#118](https://github.com/axa-group/oauth2-mock-server/pull/118). ### High level impact - Removed PEM handling related functions. As such, the cli no longer supports `--save-pem ` nor ` --pem <filename>` options. One can leverage external tooling to convert PEM to JWK format (eg: https://www.npmjs.com/search?q=pem%20jwk). - When feeding the store with existing keys, serialized JWK format expects the `alg` property to be defined and valued. (Refer to [README.md](./README.md) for the complete list of supported algorithms). - Although not previously documented, the store was previously supporting symmetric algorithms (eg. `HS256`). This is no longer the case. - Generation of unsigned tokens (`alg`: `none`) is no longer supported ### Low level impact Most of the changes impact the lowest layers of the library. However, some of them eventually altered the higher ones. Below a quick recap of the most impactful changes would you use the library programatically. For a more detailed view of all the changes, please refer to the pull request mentioned above. - Key generation has been made a little more versatile and can now issue keys that are not only RSA based. ```diff -const key = await authServer.issuer.keys.generateRSA(); +const key = await authServer.issuer.keys.generate("RS256") ``` - Token generation method `buildToken()` now returns a promise ```diff -const jwt = authServer.issuer.buildToken(true, undefined, jwtTransformer); +const jwt = await authServer.issuer.buildToken({ scopesOrTransform: jwtTransformer }); ``` - Keys were previously being type [defined](https://github.com/DefinitelyTyped/DefinitelyTyped/blob/2d2c4ced74bb356ec1c7b931dedd263bcfb5c4a1/types/node-jose/index.d.ts#L254-L265) as `JWK.Key` from the `@types/node-jose` package. They're now type defined as `JWK` and properly exported from by this package - `JWKStore.toJSON()` now directly returns a `JWK[]` rather than a Json object exposing a `keys` property. - From a TypeScript standpoint, inner type definitions are now exported from the root. This means that you can safely turn those lines ```ts import { OAuth2Server } from 'oauth2-mock-server'; import { Payload } from 'oauth2-mock-server/dist/lib/types'; ``` into ```ts import { OAuth2Server, Payload } from 'oauth2-mock-server'; ``` - Type `MutableAuthorizeRedirectUri` has been renamed into `MutableRedirectUri` ```diff -service.once('beforeAuthorizeRedirect', (authorizeRedirectUri: MutableAuthorizeRedirectUri, req) => { +service.once('beforeAuthorizeRedirect', (authorizeRedirectUri: MutableRedirectUri, req) => { ... }); ```