reactjs - TypeError: performanceMeasurement.startMeasurement är inte en funktion


Fel uppstod helt enkelt när jag försökte logga in från @azure/msal-react i Next 13. När jag kollade felloggen kommer det från kärnbiblioteket @azure/msal-react. Jag försökte också med inloggnings-popup, men felet är fortfarande detsamma.

Jag har kod, i min auth.ts

export const msalConfig = {
    auth: {
        clientId : "afxxxxx-xxxxxx-xxxxxx",
        authority : "https://login.microsoftonline.com/common/",
        redirectUri : "/",
    }
};

export const loginRequest = {
    scope: ["User.Read"]
};

_app.ts
import { MsalProvider } from '@azure/msal-react'
import { PublicClientApplication, EventType, SilentRequest, AccountInfo } from '@azure/msal-browser'
import  { msalConfig } from '@/services/auth'
import type { AppProps } from 'next/app'
import { useRouter } from 'next/router'
import { CustomNavigationClient } from '@/utils/NavigationClient'

export const msalInstance = new PublicClientApplication(msalConfig);

const accounts = msalInstance.getAllAccounts();

if (accounts.length > 0) {
  msalInstance.setActiveAccount(accounts[0]);
};

msalInstance.addEventCallback((event) => {
  if (event.eventType === EventType.LOGIN_SUCCESS && (event.payload as SilentRequest).account) {
    const account  = (event.payload as SilentRequest).account;

    msalInstance.setActiveAccount(account as AccountInfo);
  }
});

export default function App({ Component, pageProps }: AppProps) {
  const router = useRouter();

  const navigationClient = new CustomNavigationClient(router);;

  msalInstance.setNavigationClient(navigationClient);  

  return (
    <MsalProvider instance={msalInstance}>
      <Component {...pageProps} />
    </MsalProvider>
  )
}

och på mina sidor visar jag helt enkelt Login Index.ts

const initializeSignIn = () => {
    instance.loginRedirect();
  };

  return (
  <>
    <UnauthenticatedTemplate>
      <center>Please sign-in to see your profile information.</center>
      <button onClick={initializeSignIn}>Sign In</button>
    </UnauthenticatedTemplate>
  </>
  )

Missade jag något i konfigurationen eller är det bara en bugg i kärnbiblioteket?

Svar #1

UPPDATERING: Enligt diskussionen här git-issues diskussionen var problemet med @azure/[email  och det åtgärdades i @azure/[email .

Du kan börja använda

"@azure/msal-browser": "^2.32.2",
"@azure/msal-react": "^1.5.2"

Vid tidpunkten för detta nummer är de senaste publicerade versionerna

"@azure/msal-browser": "2.32.2",
"@azure/msal-react": "1.5.2"

Jag har använt microsoft-authentication-library-for-js för att få @azure/msal-browser, @azure/msal-react att köra mitt projekt med källkoden. Fungerade bra. Det verkar som att problemet uppstod när koden publicerades (bundling/minifiering/vem vet etc.).

tills den nya versionen släpps, för att lösa problemet, ändra npm-paketen till

"@azure/msal-browser": "2.32.1",
"@azure/msal-react": "1.5.1"

Svar #2

Jag stötte på detta problem också idag. Det har förmodligen något att göra med att Microsoft släppte en ny version. Jag nedgraderade precis och det fungerade igen.

Relaterade artiklar