struct Resolver {
inner: JacquardResolver<Client>,
}Expand description
The identity resolution behind OperatorAuth.
jacquard-identity builds a did:web document URL by pasting the
method-specific identifier after https://, so did:web:localhost%3A3415
becomes a request to a host literally named localhost%3A3415. atproto
permits exactly that shape — a port, with its colon percent-encoded —
for localhost and nowhere else, “only in testing and development”, and
didbot_identity::did::AccountDid decodes it. This puts that answer in
front of the library’s.
Only a DID that carries a port takes this path, and only a bare loopback
hostname may carry one, so a deployment on a public zone never reaches
it. Every such fetch is https:// like any other.
Fields§
§inner: JacquardResolver<Client>Implementations§
Trait Implementations§
Source§impl DpopExt for Resolver
impl DpopExt for Resolver
§fn dpop_server_call<'r, D>(
&'r self,
data_source: &'r mut D,
) -> DpopCall<'r, Self, D>where
Self: Sized,
D: DpopDataSource,
fn dpop_server_call<'r, D>(
&'r self,
data_source: &'r mut D,
) -> DpopCall<'r, Self, D>where
Self: Sized,
D: DpopDataSource,
Begin building a DPoP-protected request targeting an authorization server.
Source§impl IdentityResolver for Resolver
impl IdentityResolver for Resolver
Source§fn options(&self) -> &ResolverOptions
fn options(&self) -> &ResolverOptions
Access options for validation decisions in default methods
Source§async fn resolve_handle<S: BosStr + Sync>(
&self,
handle: &Handle<S>,
) -> Result<Did>
async fn resolve_handle<S: BosStr + Sync>( &self, handle: &Handle<S>, ) -> Result<Did>
Resolve handle
Source§async fn resolve_did_doc<S: BosStr + Sync>(
&self,
did: &Did<S>,
) -> Result<DidDocResponse>
async fn resolve_did_doc<S: BosStr + Sync>( &self, did: &Did<S>, ) -> Result<DidDocResponse>
Resolve DID document
§fn resolve_ident<S>(
&self,
actor: &AtIdentifier<S>,
) -> impl Future<Output = Result<DidDocResponse, IdentityError>> + Send
fn resolve_ident<S>( &self, actor: &AtIdentifier<S>, ) -> impl Future<Output = Result<DidDocResponse, IdentityError>> + Send
Resolve DID doc from an identifier
§fn resolve_ident_owned<S>(
&self,
actor: &AtIdentifier<S>,
) -> impl Future<Output = Result<DidDocument, IdentityError>> + Send
fn resolve_ident_owned<S>( &self, actor: &AtIdentifier<S>, ) -> impl Future<Output = Result<DidDocument, IdentityError>> + Send
Resolve DID doc from an identifier
§fn resolve_did_doc_owned<S>(
&self,
did: &Did<S>,
) -> impl Future<Output = Result<DidDocument, IdentityError>> + Send
fn resolve_did_doc_owned<S>( &self, did: &Did<S>, ) -> impl Future<Output = Result<DidDocument, IdentityError>> + Send
Resolve the DID document and return an owned version
Source§impl OAuthResolver for Resolver
impl OAuthResolver for Resolver
§fn verify_issuer<S>(
&self,
server_metadata: &OAuthAuthorizationServerMetadata,
sub: &Did<S>,
) -> impl Future<Output = Result<Uri<String>, ResolverError>> + Send
fn verify_issuer<S>( &self, server_metadata: &OAuthAuthorizationServerMetadata, sub: &Did<S>, ) -> impl Future<Output = Result<Uri<String>, ResolverError>> + Send
Verify that the authorization server in
server_metadata is the correct issuer for sub.§fn resolve_oauth(
&self,
input: &str,
) -> impl Future<Output = Result<(OAuthAuthorizationServerMetadata, Option<DidDocument>), ResolverError>> + Sendwhere
Self: Sync,
fn resolve_oauth(
&self,
input: &str,
) -> impl Future<Output = Result<(OAuthAuthorizationServerMetadata, Option<DidDocument>), ResolverError>> + Sendwhere
Self: Sync,
Resolve
input (a handle, DID, PDS URL, or entryway URL) to OAuth metadata. Read more§fn resolve_from_service(
&self,
input: &str,
) -> impl Future<Output = Result<OAuthAuthorizationServerMetadata, ResolverError>> + Sendwhere
Self: Sync,
fn resolve_from_service(
&self,
input: &str,
) -> impl Future<Output = Result<OAuthAuthorizationServerMetadata, ResolverError>> + Sendwhere
Self: Sync,
Resolve a service URL (PDS or entryway) to its authorization server metadata. Read more
§fn resolve_from_identity(
&self,
input: &str,
) -> impl Future<Output = Result<(OAuthAuthorizationServerMetadata, DidDocument), ResolverError>> + Sendwhere
Self: Sync,
fn resolve_from_identity(
&self,
input: &str,
) -> impl Future<Output = Result<(OAuthAuthorizationServerMetadata, DidDocument), ResolverError>> + Sendwhere
Self: Sync,
Resolve an AT identifier (handle or DID) to its authorization server metadata and DID document.
Fetch and validate the authorization server metadata for the given issuer URL. Read more
Auto Trait Implementations§
impl Freeze for Resolver
impl !RefUnwindSafe for Resolver
impl Send for Resolver
impl Sync for Resolver
impl Unpin for Resolver
impl UnsafeUnpin for Resolver
impl !UnwindSafe for Resolver
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<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>
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