Releases: ramosbugs/openidconnect-rs
3.0.0
🚀 WASM is now supported! 🚀
Changes since 3.0.0-alpha.1
Bug Fixes
-
Don't set empty JWK signing algorithms in
Client::new()
(#104). This fixes a bug introduced in 3.0.0-alpha.1/2.5.0 (#87) that caused clients constructed viaClient::new()
not to allow any signature algorithms for ID tokens and user info JWTs unless they manually set the allowed algorithms on theIdTokenVerifier
. This patch restores the original behavior of defaulting to accepting onlyRS256
for clients constructed viaClient::new()
, as indicated in the spec.Clients constructed via
Client::from_provider_metadata()
will continue to receive the signing algorithms specified in the provider metadata during OpenID Connect Discovery (as introduced in 3.0.0-alpha.1/2.5.0 via #87).
New Features
- Add
AuthorizationRequest::add_scopes
(#105)
Other Changes
- Remove unnecessary
'static
bound fromProviderMetadata::discover_async
(#107)
Summary of changes since 2.5.1
Breaking Changes
-
Replace
ring
with RustCrypto crates (#96). This change increases the minimum supported Rust version (MSRV) to 1.57 and adds support for WASM targets.Special thanks to @sbihel for contributing this change!
-
Establish new MSRV policy: this crate will maintain a policy of supporting Rust releases going back at least 6 months. Changes that break compatibility with Rust releases older than 6 months will no longer be considered SemVer breaking changes and will not result in a new major version number for this crate (f3dedb3).
Other Changes
- Make
CoreRsaPrivateSigningKey
Send
andSync
(bc09d22).
2.5.1
Bug Fixes
-
Don't set empty JWK signing algorithms in
Client::new()
(#104). This fixes a bug introduced in 2.5.0 (#87) that caused clients constructed viaClient::new()
not to allow any signature algorithms for ID tokens and user info JWTs unless they manually set the allowed algorithms on theIdTokenVerifier
. This patch restores the original behavior of defaulting to accepting onlyRS256
for clients constructed viaClient::new()
, as indicated in the spec.Clients constructed via
Client::from_provider_metadata()
will continue to receive the signing algorithms specified in the provider metadata during OpenID Connect Discovery (as introduced in 2.5.0 via #87).
3.0.0-alpha.1
Breaking Changes
-
Replace
ring
with RustCrypto crates (#96). This change increases the minimum supported Rust version (MSRV) to 1.57 and adds support for WASM targets.Special thanks to @sbihel for contributing this change!
-
Establish new MSRV policy: this crate will maintain a policy of supporting Rust releases going back at least 6 months. Changes that break compatibility with Rust releases older than 6 months will no longer be considered SemVer breaking changes and will not result in a new major version number for this crate (f3dedb3).
Other Changes
- Make
CoreRsaPrivateSigningKey
Send
andSync
(bc09d22).
2.5.0
New Features
-
Ignore unrecognized signature algorithms, encryption algorithms, and public keys when parsing provider metadata and JWK sets (#99).
Previously, this crate would return a deserialization error if it encountered any unrecognized signature/encryption algorithms or public keys in the
ProviderMetadata
andJsonWebKeySet
. This release changes the behavior to instead ignore these unexpected values, with the aim of improving compatibility with OIDC providers that support other algorithms but don't necessarily use them to sign JWTs. The OIDC spec allows for new algorithms and key types to be used, so these OIDC providers are fully compliant with the spec. -
Propagate signature algorithms from OIDC discovery to token verifier (#87). Previously, these had to be configured manually when instantiating the token verifier.
Bug Fixes
- Use
serde_plain
instead of theoauth2
crate'svariant_name
helper to convert algorithm names and other values to strings. This should ensure compatibility with arbitrarySerialize
implementations for these types.
Other Changes
- Replace constant time from
ring
withsubtle
in preparation for removingring
entirely in 3.0 (#89).
2.4.0
New Features
- Add
CoreJsonWebKeyUse::Other
variant to avoid JWK deserialization errors when unsupported keys are present in a provider's JWK set (c25eb06) - Optionally accept string boolean fields behind
accept-string-booleans
Cargo feature flag to interoperate with non-RFC-compliant Apple OAuth (#84)