atproto-pds: a public scope describer, and client display fields #668

Merged ngerakines.me
targeting main from entryway-consent-ux
Merged opened by and assigned to ngerakines.me
targeting main from entryway-consent-ux

The consent page's scope list (permission sets by their own title and detail and what they grant, space types by their declaration's name, owners by their verified handle) was built straight off HttpState, so atproto-entryway's consent page could only list raw scope strings.

oauth::consent::ScopeDescriber does that work from four optional resolvers (permission sets, space declarations, DNS, the PLC host) and returns each requested scope with its description. The helpers it uses take the describer instead of HttpState, and render_scope_list builds one from its state and renders the same markup as before.

ClientMetadata gains client_name, client_uri and logo_uri, read for display only.

Refs: atproto-crates#tm5h

Commits 0