Do not show passkey on http sites (#33820)

Fix #33615
This commit is contained in:
wxiaoguang
2025-03-08 03:37:27 +08:00
committed by GitHub
parent 582ad338d7
commit b8c2afdc5f

View File

@ -1,5 +1,5 @@
import {encodeURLEncodedBase64, decodeURLEncodedBase64} from '../utils.ts'; import {encodeURLEncodedBase64, decodeURLEncodedBase64} from '../utils.ts';
import {showElem} from '../utils/dom.ts'; import {hideElem, showElem} from '../utils/dom.ts';
import {GET, POST} from '../modules/fetch.ts'; import {GET, POST} from '../modules/fetch.ts';
const {appSubUrl} = window.config; const {appSubUrl} = window.config;
@ -11,6 +11,15 @@ export async function initUserAuthWebAuthn() {
return; return;
} }
if (window.location.protocol === 'http:') {
// webauthn is only supported on secure contexts
const isLocalhost = ['localhost', '127.0.0.1'].includes(window.location.hostname);
if (!isLocalhost) {
hideElem(elSignInPasskeyBtn);
return;
}
}
if (!detectWebAuthnSupport()) { if (!detectWebAuthnSupport()) {
return; return;
} }