atproto_core/identity

The Slingshot-compatible com.bad-example.identity.resolveMiniDoc lookup, shared by every client package: URL shape, decoder, default resolver, and an Effect-based resolve for the OAuth flow.

The answer comes from a third-party service and is a hint, not a fact: fine for display and for finding a PDS to read public data from, but never trusted for authentication. The OAuth flow uses only the did from it and re-verifies everything natively through atproto_core/did (DID document, #atproto_pds, the PDS’s authorization server); the pds field is ignored there. Native handle resolution (DNS TXT and /.well-known/atproto-did) is not implemented.

Types

pub type MiniDoc {
  MiniDoc(did: String, pds: String)
}

Constructors

  • MiniDoc(did: String, pds: String)

Values

pub const default_resolver: String
pub fn mini_doc_decoder() -> decode.Decoder(MiniDoc)
pub fn mini_doc_url(
  resolver: String,
  identifier: String,
) -> String

The XRPC URL for resolveMiniDoc on resolver.

pub fn resolve_mini_doc(
  resolver: String,
  identifier: String,
) -> effect.Effect(Result(MiniDoc, xrpc.XrpcError))

Resolve as an Effect; sync and async clients make the same request with their own Clients via mini_doc_url/mini_doc_decoder.

✨ Search Document