@inrupt/solid-client-authn-core
Advanced tools
Changelog
2.3.0 - 2024-11-14
session.info.expirationDate
) is now correct when loading a Session
from storage.Session
using getSessionFromStorage
and not log it in
using its refresh token. To do so, a new refresh
optional flag has been introduced.
It defaults to true
, which makes this a non-breaking change. In addition, a new signature
is introduced to make it easier to provide the optional arguments:// Legacy signature only specifying one optional argument
const session = await getSessionFromStorage(
sessionId,
undefined,
undefined,
false,
);
// New signature
const session = await getSessionFromStorage(sessionId, { refresh: false });
Changelog
2.2.6 - 2024-09-18
package.json
updated to set the repository.type
property to git
. This intends at
restoring the previous behavior of npm view @inrupt/solid-client-authn repository.url
, expected to return
git+https://github.com/inrupt/solid-client-authn-js.git
.Changelog
2.2.4 - 2024-06-24
clientAppId
in ISessionInfo
objects: clientAppId
property of the ISessionInfo
interface, although present, was not being set either in the ISessionInfo
objects returned by
the handleIncomingRedirect
function in ClientAuthentication
, or in the Session
class.The keepAlive
option (introduced in v2.2.0) is now correctly observed in a script using
the Client Credentials flow (i.e. using a clientId
and a clientSecret
to log in). It
previously was disregarded, and the Session
always self-refreshed in the background.
Note that there still is a timeout being set to notify of session expiration, causing NodeJS to wait for the end of the session before closing a terminal. This can be avoided by logging the session out explicitly:
const session = new Session();
await session.login({
oidcIssuer: ...,
clientId: ...,
clientSecret: ...,
});
will hang until the session expires, while
const session = new Session();
await session.login({
oidcIssuer: ...,
clientId: ...,
clientSecret: ...,
});
await session.logout();
will close when logout is complete.
Changelog
2.2.3 - 2024-06-20
clientId
from ID Token azp
claim: the parsing of the ID Token payload was not
correctly extracting the clientId
from the azp
claim. As a result, session.info.clientAppId
was not being initialized upon successful login, which prevented the idp
logout of the session
from working as expected.Changelog
2.2.2 - 2024-06-18
getSessionIdFromStorage
: When loading a session from storage on the server
(using getSessionIdFromStorage
), the token type (i.e. DPoP-bound or not, referred to as Bearer) is
now consistent with the token type initially associated with the session. Previously, regardless of
the token type requested when logging the session in, the token type defaulted to DPoP
when logging
the session back in on load from storage, causing authentication issues.Changelog
2.2.0 - 2024-05-03
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.Changelog
2.1.0 - 2024-03-13
session.login({/*...*/, tokenType: "Bearer"})
and get a successful result.