簡體   English   中英

@azure/msal-browser 類型錯誤:this.startPerformanceMeasurement 不是 function

[英]@azure/msal-browser TypeError: this.startPerformanceMeasurement is not a function

介紹

因為 nuxt 3 還沒有構建 Auth 庫,所以我正在嘗試創建自己的可組合項 useAuth。

問題

當我嘗試調用 loginRedirect 或 loginPopup 方法時出現 startPerformanceMeasurement 錯誤。

Uncaught (in promise) TypeError: this.startPerformanceMeasurement is not a function
    at PerformanceClient2.startMeasurement (PerformanceClient.ts:100:45)
    at BrowserPerformanceClient2.startMeasurement (BrowserPerformanceClient.ts:46:55)
    at RedirectClient2.<anonymous> (StandardInteractionClient.ts:204:64)
    at step (_tslib.js:87:23)
    at Object.next (_tslib.js:68:53)
    at _tslib.js:61:71
    at new Promise (<anonymous>)
    at __awaiter (_tslib.js:57:12)
    at StandardInteractionClient2.getDiscoveredAuthority (StandardInteractionClient.ts:202:115)
    at RedirectClient2.<anonymous> (StandardInteractionClient.ts:142:48)

代碼

可組合物/useAuth.js

import * as msal from '@azure/msal-browser'

let state = {
    authService: null,  
}

export const useAuth = () => {
    // use public configuration from nuxt 
    var config = useAppConfig();
    //create authentication instance
    state.authService = new msal.PublicClientApplication(config.msalConfig);

    //return signIn method
    return {
        signIn
    }
}

const signIn = async () => {
    const tokenRequest = {
        scopes: [
            'openid', 
            'offline_access', 
            'Users.Read'
        ],
    }
    const response = await state.authService
        .loginRedirect(tokenRequest)
        .then(() => {

        })
        .catch(err => {
            console.log(err) //TypeError: this.startPerformanceMeasurement is not a function
        });
}

索引.vue

<script setup>
if(process.client) {
    const auth = useAuth()
    auth.signIn()   
}
</script>

顯然這是 MSAL 庫中的錯誤。

正如本期 Github中所述,他們目前正在修復。

作為臨時解決方案,您可以降級到以前的版本。

我通過降級多個版本進行了測試,第一個工作的是@azure/msal-browser@2.31.0

也面臨這個問題。 這是由於 Microsoft 的錯誤引起的。 工作正常的版本是:

"@azure/msal-browser": "2.32.0",
"@azure/msal-common": "9.0.1",
"@azure/msal-react": "1.5.0",

請確保刪除號碼中的 ^ 以使其固定。 觀看https://github.com/AzureAD/microsoft-authentication-library-for-js/issues/5569以獲取來自 MS 的更新。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM