Skip to main content

ExtraConfig

Struct ExtraConfig 

Source
pub struct ExtraConfig {
Show 15 fields pub transcryptor_url: UrlPwa, pub auths_url: UrlPwa, pub global_client_url: UrlPwa, pub hubs: Vec<BasicInfo<UrlPwa>>, pub master_enc_key_part: Option<PrivateKey>, pub attr_id_secret: Option<B64UU>, pub auth_token_validity: Duration, pub auth_token_max_idle: Duration, pub auth_session_max_duration: Duration, pub pp_nonce_validity: Duration, pub card_pseud_validity: Duration, pub user_object_hmac_secret: Option<B64UU>, pub user_quota: Quota, pub card: IgnoredAny, pub hub_cache: HubCacheConfig,
}

Fields§

§transcryptor_url: UrlPwa

Where can we reach the transcryptor?

§auths_url: UrlPwa

Where can we reach the authentication server?

§global_client_url: UrlPwa

The URL to pubhubs used by end-clients.

Currently https://app.pubhubs.net for production, https://main.pubhubs.ihub.ru.nl for acceptance, and http://localhost:8080 for local development.

§hubs: Vec<BasicInfo<UrlPwa>>

The hubs that are known to us

§master_enc_key_part: Option<PrivateKey>

x_PHC from the whitepaper; randomly generated if not set

Generate using cargo run tools generate scalar.

§attr_id_secret: Option<B64UU>

Secret used to derive Attr::ids.

Randomly generated if not set, which is not suitable for production.

§auth_token_validity: Duration

Authentication tokens issued to the global client are valid for this duration.

Auth tokens are validated based on their own contents - there’s no list of valid authentication tokens in a database somewhere. This means that when a user is banned, the authentication tokens remain valid until they expire. The validity duration of auth tokens should thus not be too long.

§auth_token_max_idle: Duration

An expired auth token can be refreshed (without the user logging in again) for at most this long after it expired. Logs out users that have been inactive for this long.

§auth_session_max_duration: Duration

Auth tokens can be refreshed for at most this long after the user logged in, after which the user must log in again, active or not.

The max duration stops a leaked authtoken from being valid indefinitely.

§pp_nonce_validity: Duration

api::phc::user::PpNonces issued to the global client are valid for this duration.

§card_pseud_validity: Duration

Registration pseudonyms issued to the global client via api::phc::user::CardPseudEP are valid for this duration.

§user_object_hmac_secret: Option<B64UU>

Secret used to derive hmacs for the retrieval of user objects.

Randomly generated if not set.

§user_quota: Quota

Quotas for a user

§card: IgnoredAny

Deprecated; consumed and ignored on read, omitted on write.

§hub_cache: HubCacheConfig

Trait Implementations§

Source§

impl Clone for ExtraConfig

Source§

fn clone(&self) -> ExtraConfig

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for ExtraConfig

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<'de> Deserialize<'de> for ExtraConfig

Source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl GetServerType for ExtraConfig

Source§

impl PrepareConfig<Rc<Extensions>> for ExtraConfig

Source§

async fn prepare(&mut self, c: Rc<Extensions>) -> Result<()>

Source§

impl Serialize for ExtraConfig

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more

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> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> Instrument for T

§

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

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

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> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

impl<T> PayloadTrait for T

Source§

type JsonType = T

Source§

fn to_payload(&self) -> Payload<&T>

Used when creating requests
Source§

fn into_payload(self) -> Payload<T>

Used when forming responses
Source§

fn from_payload(payload: Payload<T>) -> Result<T, Error>

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

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

Source§

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>,

Source§

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

§

impl<T> WithSubscriber for T

§

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
§

fn with_current_subscriber(self) -> WithDispatch<Self>

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

impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
where ST: ?Sized, DT: ?Sized,

§

impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,

§

impl<T> Read<Exclusive, BecauseExclusive> for T
where T: ?Sized,