using Neon to surface the Rust opaque-ke library to Node.js
Details
called the new APIs from a Node module and confirmed the results
Diff Detail
- Repository
- rCOMM Comm
- Lint
No Lint Coverage - Unit
No Test Coverage
Event Timeline
What's the best place to start reading to have more context on the PAKE stuff? I'd like to have a better overview of what's going on here
keyserver/addons/opaque-ke-node/src/lib.rs | ||
---|---|---|
62–63 ↗ | (On Diff #18879) | I think 0 means the first argument of a function: https://neon-bindings.com/docs/functions#accessing-arguments |
83–91 ↗ | (On Diff #18879) | Shouldn't we use the camelCase for JS function names? |
keyserver/addons/opaque-ke-node/src/lib.rs | ||
---|---|---|
62–63 ↗ | (On Diff #18879) | Now it makes a lot more sense! |
I think for these diffs this should give you enough context: https://github.com/novifinancial/opaque-ke/blob/v1.2.0/examples/simple_login.rs
This is an example of how OPAQUE is used for login (our use case)
keyserver/addons/opaque-ke-node/src/lib.rs | ||
---|---|---|
27 ↗ | (On Diff #18879) | to keep things consistent with naming on the Identity service side |
41 ↗ | (On Diff #18879) | Finalize is executed on the main JavaScript thread and executed immediately before garbage collection. Values contained by a JsBox must implement Finalize. We don't have anything we need to clean up ourselves so we use the default empty implementation |
62–63 ↗ | (On Diff #18879) | yeah, that's right. sorry, should've annotated this diff |
83–91 ↗ | (On Diff #18879) | yeah, good point, i'll fix that |
I feel like this would be a good candidate to include a unit test. Also demonstrates the ergonomics of "using" the hash method we just introduced.