An Elixir atproto OAuth and XRPC client

Add support for slingshot for identity resolution #39

Merged jola.dev
targeting main
Merged opened by and assigned to jola.dev
targeting main

If you configure a slingshot_url Latch will use that endpoint for identity resolution over talking directly to the PDS. This has the benefit of collapsing a bunch of different paths intoa shared one:

  • For handle with DNS record, we do DNS lookup then HTTP request for did document (hitting plc.directory)
  • For handle without DNS record, we do DNS lookup, then HTTP request to verify handle, then fetch did document from plc.directory
  • For DID just the one HTTP request (no handle verification done atm)
  • For web did, two requests

With slingshot all those 4 paths are the same, a miniDoc lookup, and handle verification is always done.

Also, you avoid making unnecessary requests to the PDS. For people to easily be able to run PDSs on spotty connections and bad hardware, it's good to avoid making requests to them where not needed.

This pull request has no versions submitted yet.