···11[[atproto-did]]
2233-TODO:
33+After a DID document has been resolved, atproto-specific information needs
44+to be extracted. **This parsing process is agnostic to the DID method used.**
55+66+The current **handle** for the DID is found in the `alsoKnowAs` array.
77+Each element of this array is a URI. Handles will have the URI scheme `at://`,
88+followed by the **handle**, with no path or other URI parts.
99+1010+- [[atproto-signing-key.md]]
1111+- [[atproto-pds-service-network-location.md]]
+1-1
atproto-identity.md
···11[[atproto#Basic Concepts]]
2233-Users have permanent decentralized identifiers [[atproto-did.md]] for
33+Users have permanent decentralized identifiers ([[atproto-did.md]]) for
44their accounts. Identities include a reference to the current hosting provider
55and criptographic keys.
66
+8
atproto-pds-service-network-location.md
···11+[[atproto-did-document.md]]
22+33+The **PDS service network location** for the account is found under the
44+`service` array, with `id` ending in `#atproto_pds`, and `type` matchinng
55+`AtprotoPersonalDataServer`.
66+77+The `serviceEndpoint` field must contain an HTTPS URL of the server.
88+It should only contain the URI scheme, hostname, and optional port number.
+11
atproto-signing-key.md
···11+[[atproto-did-document.md]]
22+33+The public **signing key** for the account is found under
44+the `verificationMethod` array, in an object with `id` ending `#atproto`,
55+the `controller` matching the DID itself, and `type` matching the fixed
66+string `"Multikey"`. The `publicKeyMultibase` field will be the public key
77+in multibase encoding.
88+99+> [!IMPORTANT]
1010+> A valid signing key is required for atproto functionality.
1111+> An account with no valid key in their DID document is broken.