pub struct ExchangedToken {
pub response: TokenExchangeResponse,
pub semantics: ExchangeSemantics,
pub act: Option<ActClaim>,
}token-exchange only.Expand description
What an exchange produced: the wire response, plus the two things a host needs that are NOT wire response members.
semantics and act are separated from TokenExchangeResponse rather than living on it
with #[serde(skip)], because RFC 8693 section 2.2.1 defines the response members exhaustively
and act is a TOKEN CLAIM (section 4.1), not a response parameter. A type that serialized to
something the RFC does not define would be wrong in the one place this crate cannot afford to
be approximate.
Fields§
§response: TokenExchangeResponseThe RFC 8693 section 2.2.1 body, ready to serialize.
semantics: ExchangeSemanticsWhether this exchange was delegation or impersonation (section 1.1).
act: Option<ActClaim>The section 4.1 act claim, present exactly when semantics is
ExchangeSemantics::Delegation. See the module docs for why this crate hands it back
rather than putting it in its own opaque token.
Trait Implementations§
Source§impl Clone for ExchangedToken
impl Clone for ExchangedToken
Source§fn clone(&self) -> ExchangedToken
fn clone(&self) -> ExchangedToken
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more