pub struct JwtSigningKeys {
    pub encoding_key: EncodingKey,
    pub decoding_key: DecodingKey,
}
Expand description

Load or generate new Ed25519 signing keys.

JwtSigningKeys::load_or_create should be called only once at the boot of the server.

If there’s any issue during generating new keys or loading exiting one application will panic.

Examples:

use actix_jwt_session::*;

pub fn boot_server() {
    let keys = JwtSigningKeys::load_or_create();
}

Fields§

§encoding_key: EncodingKey§decoding_key: DecodingKey

Implementations§

source§

impl JwtSigningKeys

source

pub fn load_or_create() -> Self

Loads signing keys from ./config directory or creates new pair and save it to directory.

Pair is composed of encode key and decode key saved in ./config/jwt-encoding.bin and ./config/jwt-decoding.bin written as binary file.

Decode key can be transform to base64 and shared with clients if this is required.

Files must be shared between restarts otherwise all old sessions will be invalidated.

source

pub fn generate(save: bool) -> Result<Self, Box<dyn Error>>

source

pub fn load_from_files() -> Result<Self>

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T> Instrument for T

source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> Same for T

§

type Output = T

Should always be Self
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

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

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

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

§

fn vzip(self) -> V

source§

impl<T> WithSubscriber for T

source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more