The Will Will Web

記載著 Will 在網路世界的學習心得與技術分享

當遇到 Visual Studio 2022 無法登入微軟個人帳戶的解決之道

這個問題已經困擾了我數個月,實在是覺得很厭煩,每次開啟 Visual Studio 2022 就會不斷的提醒我要不斷登入,然後還是登入不成功,上網找了非常多類似的問題,但沒有一個是有解決的。這篇文章我就來說說這個來龍去脈,並提供一個實證有效的解決方法。

image

問題說明

這個問題是這樣的,當我們開啟 Visual Studio 2022 並嘗試登入自己的微軟帳戶(Microsoft Account),例如像 Hotmail 帳號之類的。Visual Studio 2022 會先下載該帳號所有有加入的 Azure Active Directory (Azure AD) 組織 (Tenant),然後逐一取得不同 Tenant (組織) 下的訂用帳戶。而這個過程如果遇到任何一個 Tenant 沒有存取權限,就會遇到這個問題。以下就是發生問題的重現步驟:

  1. 先開啟 Visual Studio 2022 並點擊右上角的 Sign in 登入

    Visual Studio 2022 Sign in

  2. 輸入你的微軟帳戶(Microsoft Account)(個人帳戶)

    這個畫面其實跑得是 Internet Explorer 瀏覽器喔,真的很扯!😅

    image

  3. 因為我有啟用 MFA 驗證,所以要到手機的 Microsoft Authenticator 授權登入

    image

    image

  4. 此時 Visual Studio 2022 的登入視窗會關閉,會讓你感覺已經登入成功,但隨即會立刻再開啟一次視窗,叫你再登入一次!

    image

  5. 理論上不會再需要登入了,但是我的 VS2022 卻會再次跳出視窗,叫我再登入一次,就時會出現錯誤了!

    他會提示我,我的帳號並沒有出現在 OOOOOO 的 tenant (租戶) (組織) 帳號下,所以無法存取 Visual Studio 應用程式。

    image

    重點是,所謂 OOOOOO 這個 Tenant 我早就沒用了,那是之前曾經有一小段時間幫客戶代管過,他們後來自己拿回去管,然後把我的帳號從該 Tenant 的 Azure Active Directory 移除。理論上,我應該是沒有任何權限再看到他們的任何資料才對,但是他們很有可能是沒有把我從 Subscription (訂用帳戶) 的權限中移除,導致我還看的到訂用帳戶,但因為我不在他們的 Azure AD 中,所以其實還是沒有權限,但卻看的到他們的訂用帳戶資源群組清單,裡面有多少資源我是看不到的,就是一個這麼尷尬的狀況!

    這很明顯是 Azure AD 的問題,我問了微軟技術支援中心,他們也不知道為什麼會這樣,正在積極幫我處理此議題。

解決方案

這個問題卡了我數月之久,每次看到都感覺厭煩,今天早上在家立誓要找到解法,沒有好心情怎麼能把 Visual Studio 用好呢!😠

最後我找到了解法,做出了兩項 [工具] -> [選項] 的設定調整:

  1. Environment > Accounts > Add and reauthenticate accounts using:

    這裡我直接把 Internet Explorer (IE) 瀏覽器換掉,直接改用系統內建的瀏覽器來進行登入!

    image

  2. Environment > Accounts > Authenticate across all Azure Active Directories when adding account

    這個是最關鍵的,因為該選項預設勾選,他會自動將你的帳號所有可以存取的 Azure Active Directory (Tenant) 全部都輪流驗證過一遍,這是為何你會一直不斷出現登入畫面的原因!一般來說,不應該一直不斷重複登入,但因為我有些「還看的到的 Azure AD 組織」已經「沒有權限」了,所以才會一直跳出登入畫面!

    image

只要設定完成,每次 Visual Studio 2022 開啟後就不會一直叫你登入了!

徹底清空 Visual Studio 2022 的認證快取

如果你還是遇到問題,那可能會想要徹底清空 Visual Studio 2022 的認證快取,請依照以下步驟操作:

  1. 關閉 Visual Studio 2022 開發工具

  2. 找到 %LocalAppData%\.IdentityService 目錄

  3. 刪除 %LocalAppData%\.IdentityService 資料夾

  4. 重開 Visual Studio 2022 之後會自動將該資料夾重建

選擇你要在 Visual Studio 2022 裡面使用哪些訂用帳戶

但由於我們選擇了不要在所有 Azure Active Directories 重新認證,這意味的你可能要自己選擇有哪些訂閱要加入到 Visual Studio 2022 之中,請參考下圖進行操作即可:

  1. 進入帳戶設定 (Account settings)

    image

  2. 選則 [Multiple] Microsoft accountApply filter...

    image

  3. 選擇你會用到的訂用帳戶

    image

其他技術筆記

相關連結

留言評論