msal-client-cache
TypeScript icon, indicating that this package has built-in type declarations

1.0.1 • Public • Published

msal-client-cache

This library is used to generate a functioning token cache for Microsofts MSAL library. It works by requesting an ROPC token on the server and you use the cache to test your app with an end to end testing tool like playwright.

Default OIDC scopes are requested openid profile offline_access. An access token for <client-id>/.default is also requested, this is sufficed for most MSAL SPA applications. If you require additional scopes you can add them into additionalScopes option.

Caveats to this library: Users with MFA enabled will not be able to use this library. This is because the ROPC flow does not support users with MFA.

ROPC is not recommended for production users. This library is intended for testing purposes only.

Installation

npm i msal-client-cache

Use

import MSALClientCache from "msal-client-cache";

const sessionStore = await MSALClientCache({
    loginId, // upn of user to request token for
    password, // password of user to request token for
    authority, // authority of tenant defaults to login.windows.net
    tenantId, // tenantId of tenant
    clientId, // entra id client id of app
    clientSecret, // client secret of app (client secret is required for ROPC flow)
    additionalScopes // additional scopes to request, defaulted to empty
});

// then you can embedd the sessionStore in your selenium/puppeteer or playwright tests

Changelog

The changelog can be found on the Releases page.

Contributing

Everyone is welcome to contribute. Please take a moment to review the contributing guidelines.

Authors and license

Drew Foehn and contributors.

MIT License, see the included License.md file.

/msal-client-cache/

    Package Sidebar

    Install

    npm i msal-client-cache

    Weekly Downloads

    1

    Version

    1.0.1

    License

    MIT

    Unpacked Size

    16.4 kB

    Total Files

    6

    Last publish

    Collaborators

    • pixeldrew