Age | Commit message (Collapse) | Author |
|
- Create comprehensive README.md including:
- Features, Installation (from GitHub), Usage examples (URI generation, callback verification), API Reference, Dependency status note, Testing instructions.
- Review and confirm adequacy of TSDoc comments in source files.
- Update README intro sentence and add explicit notes on required URL format.
- Create `examples/` directory with runnable scripts:
- `examples/generate-uri.ts`
- `examples/verify-callback-example.ts`
- Update signature verification helper (`_internalVerifySignature`) to use `createRequire` for CJS dependency loading in ESM context (required for examples).
- Add "Running Examples" section to README with the correct `node --loader ts-node/esm` command.
|
|
- Set up test file structure and configuration with Vitest.
- Add comprehensive unit tests for `generateDigiIDUri`, mocking `crypto.randomBytes` for predictable nonces.
- Refactor signature verification logic into `_internalVerifySignature` helper function to facilitate testing.
- Add unit tests for `verifyDigiIDCallback`, covering validation logic (URL, nonce, scheme checks).
- Utilize `vi.spyOn` to attempt mocking the outcome of `_internalVerifySignature`.
- Skip 6 tests related to signature verification outcomes due to difficulties reliably mocking the interaction with the underlying CJS 'digibyte-message' dependency in the testing environment. These scenarios will be covered by integration tests later.
- Confirmed remaining 19 unit tests pass, covering URI generation and callback validation logic.
|
|
- Add the `verifyDigiIDCallback` async function to `src/digiid.ts`.
- Parses the received DigiID URI to extract nonce, callback details, and unsecure flag.
- Validates the callback URL path and scheme against expected values.
- Optionally validates the received nonce against the expected nonce.
- Utilizes the 'digibyte-message' library (via require) to perform cryptographic signature verification of the URI against the provided address.
- Throws specific `DigiIDError` exceptions for various validation and verification failures (e.g., invalid URI, URL mismatch, nonce mismatch, invalid signature).
- Returns a `DigiIDVerificationResult` upon successful verification.
- Imports necessary types and the CommonJS `digibyte-message` dependency.
|
|
- Create initial source directory structure (src/).
- Define core interfaces (DigiIDUriOptions, DigiIDCallbackData, etc.) and DigiIDError class in src/types.ts.
- Set up main export file src/index.ts.
- Implement the generateDigiIDUri function in src/digiid.ts for creating DigiID authentication URIs according to the specification.
- Include helper function for generating secure nonces using Node crypto.
- Add TSDoc comments for clarity and maintainability.
|