在您開發的應用程式中支援使用 FIDO2 金鑰來進行無密碼驗證
這些設定和最佳做法可協助您避免會讓應用程式使用者無法使用 FIDO2 無密碼驗證的常見案例。
一般最佳做法
網域提示
請勿使用網域提示來略過主領域探索。 這項功能的目的是要簡化登入程序,但同盟識別提供者可能不支援無密碼驗證。
需要特定認證
如果您使用 SAML,請勿使用 RequestedAuthnContext 元素來指定需要密碼。
RequestedAuthnContext 元素是選擇性的,因此若要解決此問題,您可以從 SAML 驗證要求中移除它。 這是一般最佳做法,因為使用此元素也會導致其他驗證選項 (例如多重要素驗證) 無法正常運作。
使用最近使用的驗證方法
會優先向使用者顯示其最近使用的登入方法。 當使用者認為其必須使用所顯示的第一個選項時,這種方式可能會讓其感到困惑。 不過,其可以選取如下所示的 [其他登入方式] 來選擇其他選項。
平台特定的最佳做法
桌面
用於實作驗證的建議選項依序如下:
- 使用 Microsoft 驗證程式庫 (MSAL) 的 .NET 桌面應用程式應該使用 Windows Authentication Manager (WAM)。 這項整合及其優點記載於 GitHub 上。
- 使用 WebView2 在內嵌瀏覽器中支援 FIDO2。
- 使用系統瀏覽器。 桌面平台的 MSAL 程式庫預設會使用這個方法。 您可以參考我們有關於 FIDO2 瀏覽器相容性的頁面,以確保您使用的瀏覽器支援 FIDO2 驗證。
行動
使用 MSAL 搭配 ASWebAuthenticationSession 或訊息代理程式整合的原生 iOS 應用程式支援 FIDO2。 iOS 上的 Microsoft Authenticator 和 macOS 上的 Microsoft Intune 公司入口網站均隨附訊息代理程式。
請確定您的網路 Proxy 不會封鎖 Apple 關聯的網域驗證。 FIDO2 驗證需要 Apple 的關聯網域驗證才能成功,這需要從網路 Proxy 中排除特定 Apple 網域。 如需詳細資訊,請參閱 在企業網路上使用 Apple 產品。
原生 Android 應用程式的 FIDO2 支援目前正在開發中。
如果您未使用 MSAL,您仍然應該使用系統網頁瀏覽器進行驗證。 單一登入和條件式存取等功能依賴系統網頁瀏覽器所提供的共用 Web 介面。 這表示要使用 Chrome 自訂索引標籤 (Android) 或 透過 Web 服務驗證使用者 | Apple 開發人員文件 (iOS)。
Web 應用程式和單頁應用程式
在網頁瀏覽器中執行的應用程式能否使用 FIDO2 無密碼驗證功能,會取決於瀏覽器和平台的組合。 您可以參考我們的 FIDO2 相容性矩陣,以了解使用者會遇到的組合是否受到支援。