-
Notifications
You must be signed in to change notification settings - Fork 18
Release v1.0.0 of web-bot-auth crates #66
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
generation This change amends the `http-signature-dir` to print an error log whendirectories mistakenly sign `@authority` without the `req` parameter. It fixes a bug with the example signature agent card generation where only the host component was used to sign `@authority`, rather than the full host and port pair (i.e. the _actual_ authority component). This led to verifiers being unable to verify generated signatures. It fixes some minor comments and superfluous Github Actions changes, and does some basic refactoring to make the logic a bit more straightforward in the example. Importantly, it also adds the `alg` parameter in generated signatures - this is in line with the opinionated signing we do, whereby other elements normal to web bot auth are also enforced for arbitrary HTTP signatures.
b18d91c to
b044e22
Compare
These include some pretty significant and breaking changes: 1. Dependency on `time` library is now required instead of `std::time` for all API users. As a bonus, however, we gain support on Cloudflare Workers as well as removal of a class of errors related to system clocks and `created` / `expires` parsing. 2. A number of constructs were removed: `WebBotAuthSignedMessage`, `SignedMessage::fetch_all_signature_headers` and `SignedMessage::fetch_all_signature_inputs`. The library now exposes a single method to look up components to verify. 3. `Signature-Agent` can now be parsed as a dictionary, but retains support for being parsed as a raw string. 4. It enforces use of `req` parameter in `http-message-dir`. This is in line with the specification, but can break verification of existing sites. These changes are sufficiently breaking enough to justify using semver bump. I also removed the pin to Rust v1.87 in the Github Actions handler. This ensures we're building against the latest available Rust version.
b044e22 to
e57d395
Compare
| resolver = "2" | ||
|
|
||
| [workspace.package] | ||
| version = "0.5.1" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
given the spec is still evolving, I'd rather cut 0.6.0
thibmeu
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
overall ok. need to move to 0.6.0 instead I think
| - run: cargo build --all --verbose --exclude plexi-cli --all-features --tests | ||
| - run: cargo build --all --verbose --exclude plexi-cli --exclude http-signature-directory --all-features --tests --target wasm32-unknown-unknown |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
good call
Release v1.0.0 of web-bot-auth crates
These include some pretty significant and breaking changes:
Dependency on
timelibrary is now required instead ofstd::timefor all API users. As a bonus, however, we gain support on Cloudflare
Workers as well as removal of a class of errors related to system
clocks and
created/expiresparsing.A number of constructs were removed:
WebBotAuthSignedMessage,SignedMessage::fetch_all_signature_headersandSignedMessage::fetch_all_signature_inputs. The library now exposesa single method to look up components to verify.
Signature-Agentcan now be parsed as a dictionary, but retainssupport for being parsed as a raw string.
It enforces use of
reqparameter for@authorityinhttp-message-dir. This is inline with the specification, but can break verification of existing
sites.
These changes are sufficiently breaking enough to justify using semver
bump.
Make
@authority;reqerrors more prominent + fix example signature generationThis change amends the
http-signature-dirto print an error logwhendirectories mistakenly sign
@authoritywithout thereqparameter.
It fixes a bug with the example signature agent card generation where
only the host component was used to sign
@authority, rather than thefull host and port pair (i.e. the actual authority component). This
led to verifiers being unable to verify generated signatures.
It fixes some minor comments and superfluous Github Actions changes,
and does some basic refactoring to make the logic a bit more
straightforward in the example. Importantly, it also adds the
algparameter in generated signatures - this is in line with theopinionated signing we do, whereby other elements normal to web bot auth
are also enforced for arbitrary HTTP signatures.
I also removed the pin on Rust v1.87 in Github Actions, this way we always test against
the latest Rust version.