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.tsimport { 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.
