我一直在尝试将 webauthn 添加到 Angular 应用程序中。此 MDN 页面概述了必要的步骤:https ://developer.mozilla.org/en-US/docs/Web/API/Web_Authentication_API
重要的是使用 API 需要访问navigator.credentials
. 但是,当我尝试引用它时,Angular 不会编译。例如,这行代码:
await navigator.credentials.create({...});
...产生此错误:
error TS2339: Property 'credentials' does not exist on type 'Navigator'.
现在我知道我可以做这样的事情:
declare global {
interface Navigator {
credentials: {
create(): void,
get(): void
}
}
}
但是为整个CredentialsContainer
API 编写所有的 TypeScript 真的很乏味。此外,有人已经完成了所有这些工作DefinitelyTyped
,对吧?
所以我添加@types/webappsec-credential-management
到我的项目中npm install --save-dev @types/webappsec-credential-management
。
现在 Visual Studio Code 知道该做什么了;我有自动完成和一切。
但是 Angular 仍然无法编译。它给出了与上面相同的错误。
我需要做什么才能让 Angular 识别navigator.credentials
?