X-Git-Url: http://git.squeep.com/?p=squeep-authentication-module;a=blobdiff_plain;f=README.md;h=d5feea6e6b748df0b0c3558c9b9db740bc59cafa;hp=c67283e42ee29773b134e27bd12b8b4a745fc5b5;hb=HEAD;hpb=53ef948ea83106e82d55e60d6695a15e94bf725e diff --git a/README.md b/README.md index c67283e..c4234f6 100644 --- a/README.md +++ b/README.md @@ -34,9 +34,32 @@ Class providing service handler functions for rendering and processing session l for local users, or redirecting to IndieAuth server and persisting transient state in session cookie. - `getAdminIA` interprets the returning redirect from the IndieAuth server. +- `getAdminSettings` renders the HTML account settings form +- `postAdminSettings` ingests and acts on account updates + +### Helpers + +- `sessionNavLinks` call from app templates to populate navLinks for account settings and logout + +### ResourceAuthenticator + +Class which fetches and validates resource identifiers and their secrets from database. + +Resources are assumed to be other services making API calls. + +This is just a time-gated pre-shared-secret HMAC Bearer token scheme. + +Default token format is a ':'-separated concatenation of: + +- resource identifier, which is a UUID, encoded as 24 bytes in base64url +- current epoch, encoded as base10 string +- salt value, randomness encoded as 28 bytes in base64url +- sha256 HMAC digest of previous data, encoded in base64url ### Other Notes +For the moment, this imposes a web structure of /admin/* for authentication management paths. + The logger used should be able to mask these context fields: - `ctx.parsedBody.credential`