[英]Check browser for U2F capability
有沒有辦法檢查瀏覽器是否支持U2F ?
我現在知道,Chrome 是唯一正式支持 U2F 的瀏覽器,但有適用於 Firefox 的插件,也可能有定制的瀏覽器可能已經支持 U2F。
我不想像谷歌那樣拋棄這樣的瀏覽器,因為插件用戶將無法使用它。
我看到 GitHub 似乎有辦法查看它(因為它區分了帶插件和不帶插件的 Firefox),但我不知道該怎么做。
使用 library caniuse-support ,它使用來自服務caniuse.com ( https://caniuse.com/#feat=u2f ) 的信息並使用 library bowser (瀏覽器檢測器):
const {
getSupport,
currentBrowser,
} = CaniuseSupport;
const test1 = getSupport("u2f"); // current browser
console.log(
"Get feature support of U2F current browser (" +
currentBrowser.id +
" " +
currentBrowser.version +
"):",
test1.level
);
現在是 2019 年,實際上對整個 U2F 內容進行了一些有趣的改進。
U2F 瀏覽器 API 基本上已被 WebAuthn 取代,雖然肯定會淘汰一些較舊的瀏覽器,但實際上並沒有任何相關的舊瀏覽器實際支持 U2F API,它仍然作為 chrome 自動更新而大量使用,並且Chromium 及其分支基本上是唯一原生支持開箱即用的 U2F 的瀏覽器。
使用新的 webauthn,您可以根據我在示例文檔中使用的庫來實際檢查功能:
if (!navigator.credentials || !navigator.credentials.create) {
//try navigator.credentials.get for login instead of create
//tell the user
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.