Skip to content

Releases: inrupt/solid-client-authn-js

v2.2.0

03 May 10:58
8c3bd68
Compare
Choose a tag to compare

New Feature

node

  • It is now possible to prevent a Session self-refreshing in NodeJS. To do so, a new
    parameter is added to the constructor: Session({ keepAlive: false }). This prevents
    the Session setting a callback to refresh the Access Token before it expires, which
    could cause a memory leak in the case of a server-side application with many users.
    It also avoids unnecessary requests being sent to the OpenID Provider.

v2.1.0

14 Mar 10:54
259a567
Compare
Choose a tag to compare

New Feature

node and browser

  • OpenID Providers with multiple JWK in their JWKS are now supported. Thanks to
    @pavol-brunclik-compote for the original contribution.

node

  • Authorization code flow for statically registered clients is now supported. Statically registered
    clients previously defaulted to the Client Credentials flow, it is no longer an assumption.

Bugfix

browser

  • Fix non-DPoP bound tokens support in browser: a bug in the handling of non-DPoP-bound tokens was
    preventing the auth code grant to complete, with a 401 to the OpenId Provider Token Endpoint
    observed on redirect after the user authenticated. It is now possible to do
    session.login({/*...*/, tokenType: "Bearer"}) and get a successful result.

v2.0.0

20 Dec 18:55
80d9c4b
Compare
Choose a tag to compare

Breaking Changes

  • Node 16 is no longer supported. The global fetch function is used instead of @inrupt/universal-fetch.
    This means this library now only works with Node 18 and higher.
  • The Session class no longer extends EventEmitter. Instead, it exposes an events attribute implementing
    EventEmitter. We do not recommend to use Session instance's events attribute as an arbitrary events emitter,
    and encourage users to only use the supported events and documented API.
  • Session methods onLogin, onLogout, onError, onSessionRestore, onSessionExpiration and onNewRefreshToken
    have been removed. They are replaced by calls to session.events.on, using the appropriate event name.
  • Session constructor changes:
    • the onNewRefreshToken parameter is no longer supported. Its usage is replaced by calling session.events.on
      using the EVENTS.NEW_REFRESH_TOKEN constant as a first parameter, and a callback handling the token as a
      second parameter.
    • The useEssSession parameter is no longer supported.
  • The getClientAuthenticationWithDependencies is no longer exported as part of the public API, and is now internal-only.
  • The UMD build of @inrupt/oidc-client-ext is no longer available. Since this is a package only intended to be
    consumed by @inrupt/solid-client-authn-browser, which doesn't have a UMD build, this change should have no
    impact.

Build system changes

  • Moved from rollup-plugin-typescript2 to @rollup/plugin-typescript. Although this should not be a breaking change,
    upgrading may require extra attention.

v1.17.5

16 Nov 16:03
a343575
Compare
Choose a tag to compare

Internal changes

  • This refactors how the the node-based end-to-end tests run to make it possible to run them without having playwright installed. This should not impact downstream consumers.

v1.17.4

09 Nov 12:25
8835502
Compare
Choose a tag to compare

Bugfixes

node

  • #2985: RFC9207 adds an iss parameter to the callback IRI, and the Node library wasn't removing it before comparing the effective callback URL to the URL used when making the Authorization request.

1.17.3

10 Oct 21:16
ef10e83
Compare
Choose a tag to compare

Bugfixes

browser

  • Mismatching redirect URI on refresh: the root cause of the bug was a race
    condition because of the asynchronous nature of updating the browser URL. The appropriate event is now awaited for, which should prevent
    the issue from manifesting.

browser and node

  • JSDoc comments are preserved in emitted files, which gives a better developer experience in IDEs supporting them.

v1.17.2

15 Sep 13:47
5818a79
Compare
Choose a tag to compare

Bugfixes

browser

  • Mismatching redirect URI on refresh: this bug was caused by an invalid redirect URL stored with session data.
    Saving an invalid redirect URL is now prohibited, and in addition the storage of users impacted by this bug will be cleared so that they don't have to do anything manually
    to clear their local storage. Users affected by this bug will be asked to log back in, as if they logged out.

v1.17.1

16 Jul 03:54
0c27ce0
Compare
Choose a tag to compare

Bugfixes

  • The fetch function is now bound to the window object in all uses within authn-browser

v1.17.0

14 Jul 02:46
0f5275f
Compare
Choose a tag to compare

New Features

  • Support for RP-Initiated Logout in Node and Browser libraries.
  • ESM support for Node and Browser packages.

v1.16.0

14 May 22:18
e0354ec
Compare
Choose a tag to compare

New Feature

  • Node 20 support