authd/API.md

944 B
Raw Blame History

This file is still very much a WIP.

Protocol

authds protocol is still subject to change.

TODO: document messages.

Libraries

TODO: document basic functions in the AuthD::Client class to exchange messages with authd.

A AuthD::Client Crystal class is available to build synchronous clients in Crystal.

Authorization rules

Logged users can:

  • retrieve public data of any user individually
  • change their own data: password, email address, profile entries (except the read-only ones)
  • delete their account
  • check their own permissions

Admins with 'Read' permission on the '*' resource can:

  • list users
  • check permissions of other users

Admins with 'Edit' permission on the '*' resource can:

  • change data of another user

Admins with 'Admin' permission on the '*' resource (or the 'admin' boolean) can:

  • change read-only profile entries
  • change permissions
  • delete a user
  • uprank and downrank admins