在Next 13中尝试从@azure/msal-react登录时发生错误。当我检查错误日志时,它来自核心库@azure/msal-react。我也尝试了登录弹出,但错误仍然相同
我有代码,在我的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>
)
}
和在我的页面只是简单地显示登录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>
</>
)
我错过了一些配置或它只是一个bug从核心库?
更新:正如这里所讨论的Git问题讨论的问题是与@azure/msal-common@9.0.1在@azure/msal-common@9.1.1中修复.
可以开始使用
"@azure/msal-browser": "^2.32.2",
"@azure/msal-react": "^1.5.2"
在本期发布时,最新发布的版本为
"@azure/msal-browser": "2.32.2",
"@azure/msal-react": "1.5.2"
我已经使用microsoft-authentication-library-for-js来获取@azure/microsoft- browser,@azure/msal-react使用源代码运行我的项目。工作得很好。问题似乎是在发布代码时发生的(捆绑/缩小/谁知道等等)。
在新版本出来之前,要解决这个问题,请将NPM包更改为"@azure/msal-browser": "2.32.1",
"@azure/msal-react": "1.5.1"
我今天也遇到了这个问题。这可能与微软发布了一个新版本有关。我刚降级了,它又工作了。