#credentials #webauthn #wasm #sane #interface #assertions #uv

wasm-webauthn

基于web-sys navigator.credential的合理接口

2 个不稳定版本

0.1.0 2023年5月4日
0.0.0 2023年5月3日

#923身份验证

Apache-2.0

14KB
274

Webauthn for wasm

使用示例

use wasm_webauthn::*;

async fn register() -> Credential {
    let MakeCredentialResponse { credential } = MakeCredentialArgsBuilder::default()
        .rp_id(Some("example.com".to_string()))
        .challenge([42u8; 32].to_vec())
        .uv(UserVerificationRequirement::Required)
        .build().expect("invalid args")
        .make_credential().await
        .expect("make credential");
    credential
}

async fn get_assertion(credential: Credential) {
    let GetAssertionResponse {
        signature,
        client_data_json,
        flags,
        counter,
    } = GetAssertionArgsBuilder::default()
        .credentials(Some(vec![credential.into()]))
        .challenge("Hello World".as_bytes().to_vec())
        .build()
        .expect("invalid args")
        .get_assertion().await
        .expect("get assertion");
}

依赖

~11MB
~221K SLoC