Arken is passwordless authentication middleware for Express and FastAPI built around decentralized identifiers and secp256k1 signatures. A client first requests a protected resource and receives a 401 response with a one-time nonce. It signs that nonce with its private key, then sends the signature and its `did:key` identifier in an Authorization header. The server verifies the nonce, recovers the signer from the signature, and checks that the signer matches the DID before granting access. Private keys stay on the client, and the design avoids passwords, user-account databases, and persistent login sessions; the server does temporarily store each challenge, with a 60-second lifetime.
The cryptographic engine is written in Rust and exposed to Node.js and Python through FFI wrappers. Arken’s DIDs encode compressed secp256k1 public keys using the DID Key method and base58btc. Its main claimed advantage over WebAuthn is that an identity can travel across services and devices rather than being tied to one website origin; clients need only be able to sign Ethereum messages. The project describes its first phase as working middleware with a completed, tested cryptographic core. Building currently requires Rust, while planned work includes prebuilt binaries, optional sessions or tokens, support for additional DID methods, and a browser-extension wallet.
Summary generated by AI from the linked article. hn.today is not affiliated with Hacker News or Y Combinator.