Crate actix_identity[−][src]
Expand description
Request identity service for Actix applications.
IdentityService middleware can be used with different policies types to store identity information.
By default, only cookie identity policy is implemented. Other backend implementations can be added separately.
CookieIdentityPolicy uses cookies as identity storage.
To access current request identity Identity extractor should be used.
use actix_web::*;
use actix_identity::{Identity, CookieIdentityPolicy, IdentityService};
async fn index(id: Identity) -> String {
// access request identity
if let Some(id) = id.identity() {
format!("Welcome! {}", id)
} else {
"Welcome Anonymous!".to_owned()
}
}
async fn login(id: Identity) -> HttpResponse {
id.remember("User1".to_owned()); // <- remember identity
HttpResponse::Ok().finish()
}
async fn logout(id: Identity) -> HttpResponse {
id.forget(); // <- remove identity
HttpResponse::Ok().finish()
}
fn main() {
let app = App::new().wrap(IdentityService::new(
// <- create identity middleware
CookieIdentityPolicy::new(&[0; 32]) // <- create cookie identity policy
.name("auth-cookie")
.secure(false)))
.service(web::resource("/index.html").to(index))
.service(web::resource("/login.html").to(login))
.service(web::resource("/logout.html").to(logout));
}
Structs
Use cookies for request identity storage.
The extractor type to obtain your identity from a request.
Request identity middleware
Traits
Identity policy definition.
Helper trait that allows to get Identity.