# IndieAuth Helper
-Just some abstractions for interacting with IndieAuth sites.
+Just some abstractions for interacting with IndieAuth sites, basically wrapping `got` and `microformats-parser` mf2 parsing, performing various validations according to the specification, and some other fiddly bits.
+
+This is currently quite opinionated, and likely is only really useful in the context of Squeep Framework Applications.
Notable methods on the Communication class:
-- static generatePKCE(length)
+- `static async generatePKCE(length)`
Create a code and verifier for use in an IndieAuth transaction.
-- fetchProfile(urlObject)
+- `async validateProfile(url)`
+ Check that a url meets specification requirements to be a profile.
+
+- `async fetchProfile(urlObject)`
Retrieve profile information from an endpoint.
-- fetchClientIdentifier(urlObject)
+- `async validateClientIdentifier(url)`
+ Check that a url meets specification requirements to be a client identifier.
+
+- `async fetchClientIdentifier(urlObject)`
Retrieve client identifier information from an endpoint.
-- fetchMicroformat(urlObject)
- Retrieve all mf2 information form an endpoint.
+- `async fetchMicroformat(urlObject)`
+ Retrieve all mf2 information from an endpoint.
+
+- `async fetchJSON(urlObject)`
+ Retrieve json from an endpoint.
+
+- `async redeemCode(urlObj, code, codeVerifier, clientId, redirectURI)`
+ Submit a code to get a profile or ticket response.
+
+- `async introspectToken(introspectionUrlObj, authenticationHeader, token)`
+ Submit a token for introspection.
+
+- `async deliverTicket(ticketEndpointUrlObj, resourceUrlObj, subjectUrlObj, ticket)`
+ Submit a ticket offer.
+
+- `async redeemTicket(ticket, resourceUrlObj, issuerUrlObj)`
+ Exchange a ticket for an access token to the given resource.