1
0
mirror of https://github.com/actix/actix-extras.git synced 2024-11-23 23:51:06 +01:00
actix-extras/actix-identity/CHANGES.md
2022-07-11 12:46:49 +01:00

3.9 KiB

Changes

0.5.0 - 2022-xx-xx

actix-identity:0.5.0 is a complete rewrite. The goal is to streamline user experience and reduce maintenance overhead.

actix-identity:0.5.0 is designed as an additional layer on top of actix-session:0.7.x, focused on identity management.
The identity information is stored in the session state, which is managed by actix-session and can be stored using any of the supported SessionStore implementations. This reduces the surface area in actix-identity (it is no longer concerned with cookies!) and provides a smooth upgrade path for users: if you need to work with sessions, you no longer need to choose between actix-session and actix-identity; they work together now!

actix-identity:0.5.0 has feature-parity with actix-identity:0.4.x - if you bump into any blocker when upgrading, please open an issue.

Changes:

  • Minimum supported Rust version (MSRV) is now 1.57 due to transitive time dependency.
  • IdentityService, IdentityPolicy and CookieIdentityPolicy have been replaced by IdentityMiddleware. #246
  • RequestIdentity has been replaced by IdentityExt. #246
  • Trying to extract an Identity for an unauthenticated user will return a 401 response to the caller. Extract an Option<Identity> or a Result<Identity, actix_web::Error> if you need to work with users that may or may not be authenticated #246. Example:
use actix_web::{http::header::LOCATION, get, HttpResponse, Responder};
use actix_identity::Identity;

#[get("/")]
async fn index(user: Option<Identity>) -> impl Responder {
    if let Some(user) = user {
        HttpResponse::Ok().finish()
    } else {
        // Redirect to login page if unauthenticated
        HttpResponse::TemporaryRedirect()
            .insert_header((LOCATION, "/login"))
            .finish()
    }
}

0.4.0 - 2022-03-01

  • Update actix-web dependency to 4.

0.4.0-beta.9 - 2022-02-07

  • Relax body type bounds on middleware impl. #223
  • Update actix-web dependency to 4.0.0-rc.1.

0.4.0-beta.8 - 2022-01-21

  • No significant changes since 0.4.0-beta.7.

0.4.0-beta.7 - 2021-12-29

  • Update actix-web dependency to 4.0.0.beta-18. #218
  • Minimum supported Rust version (MSRV) is now 1.54.

0.4.0-beta.6 - 2021-12-18

  • Update actix-web dependency to 4.0.0.beta-15. #216

0.4.0-beta.5 - 2021-12-12

  • Update actix-web dependency to 4.0.0.beta-14. #209

0.4.0-beta.4 - 2021-11-22

  • No significant changes since 0.4.0-beta.3.

0.4.0-beta.3 - 2021-10-21

  • Update actix-web dependency to v4.0.0-beta.10. #203
  • Minimum supported Rust version (MSRV) is now 1.52.

0.4.0-beta.2 - 2021-06-27

  • No notable changes.

0.4.0-beta.1 - 2021-04-02

  • Rename CookieIdentityPolicy::{max_age => max_age_secs}. #168
  • Rename CookieIdentityPolicy::{max_age_time => max_age}. #168
  • Update actix-web dependency to 4.0.0 beta.
  • Minimum supported Rust version (MSRV) is now 1.46.0.

0.3.1 - 2020-09-20

  • Add method to set HttpOnly flag on cookie identity. #102

0.3.0 - 2020-09-11

  • Update actix-web dependency to 3.0.0.
  • Minimum supported Rust version (MSRV) is now 1.42.0.

0.3.0-alpha.1 - 2020-03-14

  • Update the time dependency to 0.2.7
  • Update the actix-web dependency to 3.0.0-alpha.1
  • Minimize futures dependency

0.2.1 - 2020-01-10

  • Fix panic with already borrowed: BorrowMutError #1263

0.2.0 - 2019-12-20

  • Use actix-web 2.0

0.1.0 - 2019-06-xx

  • Move identity middleware to separate crate