Commit graph

15 commits

Author SHA1 Message Date
Lucas Kent
8bdd19b0ff Add SCRAM client extensions support
The SCRAM RFC describes extensions that can be used to add extra
data into the protocol.

This commit adds support for the client scram mechanism to insert extension
data into the client messages at the locations specified by the SCRAM RFC.

Kafka utilizes these extensions when authenticating delegation tokens
over scram. Since I am writing a kafka client I would like access to
these extensions so I can support delegation tokens.

I've only added them to Scram::new not Mechanism::from_credentials
since they do not apply to other mechanisms. For my purposes this is
fine since I only need to work with scram. However it would be
limiting for other use cases, so I'm quite happy to add the extension
fields into Credentials if that was desired. For now I've left it out
since the fields would be scram exclusive and everything else in
Credentials is currently generic.
2024-05-13 23:42:22 +00:00
Lucas Kent
1449d300dd Fix clippy lints for sasl crate 2024-05-13 16:03:48 +00:00
Lucas Kent
a291ab2e83 Remove an allocation in client::mechanisms::scram::Scram::initial 2024-05-06 08:25:24 +10:00
Jonas Schäfer
13be111de1 sasl: make docs.rs emit nice feature tags on feature-gated items 2024-04-23 19:22:04 +02:00
Emmanuel Gil Peyrot
b94d1b5222 sasl: Use the right name for SCRAM with channel binding
It is SCRAM-SHA-1-PLUS, not SCRAM-SHA-1.
2023-10-25 20:03:11 +02:00
6efc67a198 sasl: Update base64 to 0.21
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2023-08-20 21:24:04 +02:00
Gustav Palmqvist
c9931f12a9 Fixed not building when default-features = false 2022-05-20 18:54:50 +02:00
Emmanuel Gil Peyrot
6e22c0fcb4 Bump all hash crates 2021-12-25 15:57:41 +01:00
Emmanuel Gil Peyrot
7fd6923464 Use error structs for errors instead of plain strings. 2020-05-15 13:56:09 +02:00
Emmanuel Gil Peyrot
09745829f1 client: Remove Result from Mechanism::initial(). 2020-02-25 23:31:29 +01:00
Emmanuel Gil Peyrot
0c426b4d17 Remove .unwrap() in SCRAM code. 2019-01-18 00:26:48 +01:00
Emmanuel Gil Peyrot
9e9f09a9a5 Update to Edition 2018. 2019-01-17 22:54:32 +01:00
Emmanuel Gil Peyrot
a8fe78704b remove println!() introduced in 7b52210d 2017-05-06 13:21:58 +01:00
Geoffroy Couprie
a8f8744e21 isolate scram behind a compilation feature 2017-03-25 14:44:22 +01:00
lumi
4b9f2376af initial work towards server-side support 2017-03-16 20:04:22 +01:00