Struct PkceFlow
pub struct PkceFlow {
pub authorize_url: String,
pub state: String,
/* private fields */
}Expand description
An in-flight Authorization Code + PKCE attempt (RFC 7636, S256 only). The verifier and nonce stay in process memory for the lifetime of one attempt and leave it only inside the code exchange.
Fields§
The IdP authorize URL to open in a browser.
state: StringThe anti-CSRF state the callback must echo.
Implementations§
Source§impl PkceFlow
impl PkceFlow
Sourcepub fn check_callback_issuer(&self, iss: Option<&str>) -> Result<()>
pub fn check_callback_issuer(&self, iss: Option<&str>) -> Result<()>
RFC 9207 mix-up defense shared by both callback adapters (the CLI
loopback listener and the gateway callback): when the authorization
response carries an iss parameter it must name exactly the issuer
this flow was started for, and the check runs before the response’s
code or error is acted on. A response without iss is accepted for
providers that predate RFC 9207; that is the only leniency.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for PkceFlow
impl RefUnwindSafe for PkceFlow
impl Send for PkceFlow
impl Sync for PkceFlow
impl Unpin for PkceFlow
impl UnsafeUnpin for PkceFlow
impl UnwindSafe for PkceFlow
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
Mutably borrows from an owned value. Read more
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> 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