chadtmiller.com/pds.js
An atproto PDS in JavaScript, for Cloudflare Workers and Node
0
0
// What this app asks a PDS for.
//
// Its own module because two things read it: the page, which requests one of
// the two at sign-in, and the deploy, which lists both in the client metadata
// the authorization server fetches.
/** Read a space's records, at any authority, without being able to change one. */
export const READ_SCOPE = 'space:*?authority=*&skey=*&action=read';
/**
* Everything the read scope covers, plus writing records and managing spaces.
*
* `collection=*` is required for the write actions. A space scope naming no
* collection grants writes only in the collections the space type declares, and
* a browser that works against any space type knows no such declaration.
*/
export const WRITE_SCOPE =
'space:*?authority=*&skey=*&collection=*&action=read&action=create&action=update&action=delete&manage=create&manage=update&manage=delete';
/** `atproto` names the account; every authorization request carries it. */
export const SCOPES = {
read: `atproto ${READ_SCOPE}`,
write: `atproto ${WRITE_SCOPE}`,
};