[][src]Struct requiem_identity::CookieIdentityPolicy

pub struct CookieIdentityPolicy(_);

Use cookies for request identity storage.

The constructors take a key as an argument. This is the private key for cookie - when this value is changed, all identities are lost. The constructors will panic if the key is less than 32 bytes in length.

Example

use requiem_web::App;
use requiem_identity::{CookieIdentityPolicy, IdentityService};

fn main() {
    let app = App::new().wrap(IdentityService::new(
        // <- create identity middleware
        CookieIdentityPolicy::new(&[0; 32])  // <- construct cookie policy
               .domain("www.rust-lang.org")
               .name("requiem_auth")
               .path("/")
               .secure(true),
    ));
}

Methods

impl CookieIdentityPolicy[src]

pub fn new(key: &[u8]) -> CookieIdentityPolicy[src]

Construct new CookieIdentityPolicy instance.

Panics if key length is less than 32 bytes.

pub fn path<S: Into<String>>(self, value: S) -> CookieIdentityPolicy[src]

Sets the path field in the session cookie being built.

pub fn name<S: Into<String>>(self, value: S) -> CookieIdentityPolicy[src]

Sets the name field in the session cookie being built.

pub fn domain<S: Into<String>>(self, value: S) -> CookieIdentityPolicy[src]

Sets the domain field in the session cookie being built.

pub fn secure(self, value: bool) -> CookieIdentityPolicy[src]

Sets the secure field in the session cookie being built.

If the secure field is set, a cookie will only be transmitted when the connection is secure - i.e. https

pub fn max_age(self, seconds: i64) -> CookieIdentityPolicy[src]

Sets the max-age field in the session cookie being built with given number of seconds.

pub fn max_age_time(self, value: Duration) -> CookieIdentityPolicy[src]

Sets the max-age field in the session cookie being built with chrono::Duration.

pub fn same_site(self, same_site: SameSite) -> Self[src]

Sets the same_site field in the session cookie being built.

pub fn visit_deadline(self, value: Duration) -> CookieIdentityPolicy[src]

Accepts only users whose cookie has been seen before the given deadline

By default visit deadline is disabled.

pub fn login_deadline(self, value: Duration) -> CookieIdentityPolicy[src]

Accepts only users which has been authenticated before the given deadline

By default login deadline is disabled.

Trait Implementations

impl IdentityPolicy for CookieIdentityPolicy[src]

type Future = Ready<Result<Option<String>, Error>>

The return type of the middleware

type ResponseFuture = Ready<Result<(), Error>>

The return type of the middleware

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Same<T> for T

type Output = T

Should always be Self

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<V, T> VZip<V> for T where
    V: MultiLane<T>,