Openidconnect Rs Versions Save

OpenID Connect Library for Rust

2.5.1

1 year ago

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 via Client::new() not to allow any signature algorithms for ID tokens and user info JWTs unless they manually set the allowed algorithms on the IdTokenVerifier. This patch restores the original behavior of defaulting to accepting only RS256 for clients constructed via Client::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

1 year ago

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 (f3dedb3c3e74802cdf0c20d7d87ce35ffa846eb1).

Other Changes

  • Make CoreRsaPrivateSigningKey Send and Sync (bc09d22afc140e1d2d6caf8756dda4a17cc991fa).

2.5.0

1 year ago

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 and JsonWebKeySet. 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 the oauth2 crate's variant_name helper to convert algorithm names and other values to strings. This should ensure compatibility with arbitrary Serialize implementations for these types.

Other Changes

  • Replace constant time from ring with subtle in preparation for removing ring entirely in 3.0 (#89).

2.4.0

1 year ago

New Features

  • Add CoreJsonWebKeyUse::Other variant to avoid JWK deserialization errors when unsupported keys are present in a provider's JWK set (c25eb06ba7e64e14cb94d34a564d77a4ff4e9d1b)
  • Optionally accept string boolean fields behind accept-string-booleans Cargo feature flag to interoperate with non-RFC-compliant Apple OAuth (#84)

Bug Fixes

  • Make CoreRsaPrivateSigningKey implement Send (#93)
  • Fix typos in documentation (#81)

2.3.2

1 year ago

Bug Fixes

  • Fix PKCE documentation link (#76)
  • Only use HTTP Basic auth with a client secret (see ramosbugs/oauth2-rs#176)
  • Improve issuer URL mismatch error message (see #77)

2.3.1

2 years ago

Patch Changes

  • Bump oauth2 dependency to 4.2
  • Bump itertools, serde-value, and various dev dependencies. Remove untrusted crate as a dependency. (#73)

2.3.0

2 years ago

New Features

  • Add new_insecure_without_verification() to IdTokenVerifier (#61)

Bug Fixes

  • Fix clippy lints and other code cleanup (#69)
  • Fix deserialization of optional ClientRegistrationResponse fields (#66)

2.2.0

2 years ago

New Features

  • Implement FromStr for IdToken (#59)
  • Expose ureq feature of oauth2 (#56)
  • Add optional feature to accept RFC 3339 timestamps, for compatibility with Auth0 (#55)

2.1.2

2 years ago

Bug fixes

  • Support JWKs with leading zeroes in their RSA modulus (n) and public exponent (e) values (#53)

2.1.1

2 years ago
  • Update rand and base64 dependencies to their latest versions (#49)
  • Address RUSTSEC-2020-0071 by disabling chrono's oldtime feature flag