pub struct ExtendedSessionRequest {
request: SessionRequest,
pub next_session: Option<NextSessionData>,
}Expand description
An extended session request, see:
Fields§
§request: SessionRequest§next_session: Option<NextSessionData>Use to setup chained sessions, see https://docs.yivi.app/chained-sessions#the-nextsession-url
Implementations§
Source§impl ExtendedSessionRequest
impl ExtendedSessionRequest
pub fn disclosure(cdc: AttributeConDisCon) -> Self
pub fn issuance(credentials: Vec<CredentialToBeIssued>) -> Self
Sourcepub fn next_session(self, url: Url) -> Self
pub fn next_session(self, url: Url) -> Self
Adds a next_session field
Sourcepub fn sign(self, creds: &Credentials<SigningKey>) -> Result<JWT>
pub fn sign(self, creds: &Credentials<SigningKey>) -> Result<JWT>
Signs this extended session request using the provided requestor credentials.
Documentation: https://docs.yivi.app/session-requests/#jwts-signed-session-requests Reference code for disclosure request: https://github.com/privacybydesign/irmago/blob/d389b4559e007a0fcb4e78d1f6e073c1ad57bc13/requests.go#L957
Sourcepub fn open_signed(
jwt: &JWT,
requestor_credentials: &Credentials<VerifyingKey>,
) -> Result<Self>
pub fn open_signed( jwt: &JWT, requestor_credentials: &Credentials<VerifyingKey>, ) -> Result<Self>
Opens the given signed ExtendedSessionRequest.
Sourcepub fn mock_disclosure_response(
&self,
df: impl Fn(&AttributeTypeIdentifier) -> String,
) -> SessionResult
pub fn mock_disclosure_response( &self, df: impl Fn(&AttributeTypeIdentifier) -> String, ) -> SessionResult
Mocks a valid SessionResult to this ExtendedSessionRequest disclosing
the values specified by the df function.
Only simple disclosure requests not involving any ’discon’s are currently supported.
§Panics
- If
selfis not a disclosure request, or is missing thedisclosurefield. - If one of the ’discon’s is empty, or not a singleton.
Trait Implementations§
Source§impl Clone for ExtendedSessionRequest
impl Clone for ExtendedSessionRequest
Source§fn clone(&self) -> ExtendedSessionRequest
fn clone(&self) -> ExtendedSessionRequest
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for ExtendedSessionRequest
impl Debug for ExtendedSessionRequest
Source§impl<'de> Deserialize<'de> for ExtendedSessionRequest
impl<'de> Deserialize<'de> for ExtendedSessionRequest
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
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 PartialEq for ExtendedSessionRequest
impl PartialEq for ExtendedSessionRequest
Source§impl Serialize for ExtendedSessionRequest
impl Serialize for ExtendedSessionRequest
impl Eq for ExtendedSessionRequest
impl StructuralPartialEq for ExtendedSessionRequest
Auto Trait Implementations§
impl Freeze for ExtendedSessionRequest
impl RefUnwindSafe for ExtendedSessionRequest
impl Send for ExtendedSessionRequest
impl Sync for ExtendedSessionRequest
impl Unpin for ExtendedSessionRequest
impl UnsafeUnpin for ExtendedSessionRequest
impl UnwindSafe for ExtendedSessionRequest
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
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 moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
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