pub struct PendingConsent {
pub request_uri: String,
pub did: String,
pub client_id: String,
pub granted_scope: ScopeSet,
pub redirect_uri: String,
pub state: Option<String>,
pub code_challenge: String,
pub code_challenge_method: String,
pub client_auth_key: Option<ClientAuthKey>,
pub dpop_jkt: DpopThumbprint,
expires_at: OffsetDateTime,
consumed: bool,
}Expand description
What a pending consent decision is about.
Fields§
§request_uri: StringThe request_uri this consent will confirm, so confirm can hand
the caller back to authorize’s own PAR-backed request state.
did: StringThe account the pushed request named — login_hint, resolved to a
DID by whatever resolves at-identifiers. This is “the account named
in the request” that check 2 compares the stamp against.
client_id: StringThe client asking, carried through for logging.
granted_scope: ScopeSetWhat the decision record granted of the client’s request — the set
the agent is shown and approves. The code carries it, and what a
token may do is this as the ceiling grants it at each use — see
crate::oauth::token.
redirect_uri: StringWhere the authorization code must be delivered — checked again at
token, per RFC 6749 §4.1.3.
state: Option<String>What the client sent as state, to be handed back on the redirect.
A client checks it against what it generated, which is how it tells
its own flow from one somebody else started in its name.
code_challenge: StringPKCE fields, carried through so token can verify code_verifier
after the pushed request has expired.
code_challenge_method: StringThe PKCE method the challenge was computed with; always S256.
client_auth_key: Option<ClientAuthKey>The key a confidential client authenticated with at PAR. The code,
and the login it becomes, stay bound to it. None for a public
client.
dpop_jkt: DpopThumbprintThe thumbprint of the DPoP key the push was signed with, carried to the code, which is exchanged only under the same key.
expires_at: OffsetDateTime§consumed: boolTrait Implementations§
Source§impl Clone for PendingConsent
impl Clone for PendingConsent
Source§fn clone(&self) -> PendingConsent
fn clone(&self) -> PendingConsent
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for PendingConsent
impl Debug for PendingConsent
Source§impl From<PendingConsent> for AuthorizationCodeRecord
impl From<PendingConsent> for AuthorizationCodeRecord
Source§fn from(pending: PendingConsent) -> Self
fn from(pending: PendingConsent) -> Self
Auto Trait Implementations§
impl Freeze for PendingConsent
impl RefUnwindSafe for PendingConsent
impl Send for PendingConsent
impl Sync for PendingConsent
impl Unpin for PendingConsent
impl UnsafeUnpin for PendingConsent
impl UnwindSafe for PendingConsent
Blanket Implementations§
§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§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>
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>
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